Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .intel_syntax
- _DATA SEGMENT
- magic:
- .word 145
- .word 69
- .word 25
- .word 108
- .word 91
- .word 13
- .word 88
- .word 107
- .word 51
- .word 12
- .word 33
- .word 149
- .word 54
- .word 135
- .word 151
- .word 104
- .word 46
- .word 109
- .word 83
- .word 8
- .word 50
- .word 117
- .word 110
- .word 153
- .word 37
- .word 106
- .word 30
- .word 163
- .word 82
- .word 49
- .word 129
- .word 15
- .word 32
- .word 98
- .word 16
- .word 164
- .word 138
- .word 36
- .word 142
- .word 45
- .word 136
- .word 75
- .word 101
- .word 133
- .word 18
- .word 131
- .word 99
- .word 120
- .word 105
- .word 48
- .word 43
- .word 89
- .word 28
- .word 141
- .word 64
- .word 78
- .word 93
- .word 63
- .word 150
- .word 11
- .word 84
- .word 29
- .word 9
- .word 76
- .word 57
- .word 147
- .word 128
- .word 26
- .word 157
- .word 90
- .word 47
- .word 166
- .word 20
- .word 34
- .word 66
- .word 124
- .word 121
- .word 103
- .word 160
- .word 139
- .word 155
- .word 113
- .word 74
- .word 123
- .word 4
- .word 31
- .word 152
- .word 19
- .word 118
- .word 61
- .word 146
- .word 77
- .word 100
- .word 70
- .word 39
- .word 143
- .word 65
- .word 127
- .word 23
- .word 42
- .word 56
- .word 114
- .word 92
- .word 3
- .word 14
- .word 10
- .word 71
- .word 137
- .word 165
- .word 27
- .word 158
- .word 125
- .word 7
- .word 38
- .word 134
- .word 55
- .word 167
- .word 130
- .word 161
- .word 126
- .word 140
- .word 59
- .word 72
- .word 112
- .word 44
- .word 119
- .word 115
- .word 86
- .word 2
- .word 58
- .word 24
- .word 1
- .word 6
- .word 144
- .word 53
- .word 94
- .word 21
- .word 41
- .word 156
- .word 159
- .word 148
- .word 95
- .word 5
- .word 67
- .word 79
- .word 111
- .word 17
- .word 154
- .word 40
- .word 35
- .word 122
- .word 81
- .word 132
- .word 80
- .word 68
- .word 102
- .word 60
- .word 52
- .word 85
- .word 116
- .word 0
- .word 97
- .word 96
- .word 62
- .word 87
- .word 162
- .word 22
- .word 73
- flag:
- .byte 23
- .byte 25
- .byte -5
- .byte 47
- .byte -81
- .byte 45
- .byte 99
- .byte -43
- .byte -109
- .byte 81
- .byte -58
- .byte 61
- .byte 57
- .byte -47
- .byte -92
- .byte -105
- .byte -102
- .byte 1
- .byte -52
- .byte 126
- .byte 109
- _DATA ENDS
- _s$ = 8 ; size = 4
- _dest$ = 12 ; size = 4
- void f(unsigned char const *,char *) PROC ; f, COMDAT
- mov edx, DWORD PTR [esp+4]
- xor ecx, ecx
- push ebx
- mov ebx, DWORD PTR [esp + 12]
- push esi
- cmp BYTE PTR [edx], cl
- je SHORT $LN3@f
- mov esi, ebx
- mov eax, edx
- sub esi, edx
- $LL4@f:
- mov BYTE PTR [esi+eax], 0
- lea eax, DWORD PTR [eax+1]
- inc ecx
- cmp BYTE PTR [eax], 0
- jne SHORT $LL4@f
- $LN3@f:
- mov BYTE PTR [ecx+ebx], 0
- xor esi, esi
- cmp BYTE PTR [edx], 0
- je SHORT $LN6@f
- push edi
- xor edi, edi
- $LL7@f:
- movzx ecx, WORD PTR unsigned short * magic[esi*2]
- mov eax, ecx
- and cl, 7
- shr eax, 3
- mov eax, BYTE PTR [eax+edx]
- shr eax, cl
- mov ecx, esi
- and eax, 1
- and ecx, 7
- shl eax, cl
- inc esi
- or BYTE PTR [edi+ebx], al
- mov edi, esi
- shr edi, 3
- cmp BYTE PTR [edi+edx], 0
- jne SHORT $LL7@f
- pop edi
- $LN6@f:
- pop esi
- pop ebx
- ret 0
- void f(unsigned char const *,char *) ENDP ; f
- _buf$ = -256 ; size = 256
- _s$ = 8 ; size = 4
- int check(char const *) PROC ; check, COMDAT
- sub esp, 256 ; 00000100H
- lea eax, DWORD PTR _buf$[esp+256]
- push esi
- push eax
- push DWORD PTR _s$[esp+260]
- mov esi, OFFSET char * flag ; flag
- call void f(char const *,char *) ; f
- add esp, 8
- lea ecx, DWORD PTR _buf$[esp+260]
- cmp BYTE PTR char * flag, 0
- je SHORT $LN3@check
- npad 4
- $LL2@check:
- mov dl, BYTE PTR [ecx]
- test dl, dl
- je SHORT $LN3@check
- mov al, BYTE PTR [esi]
- inc ecx
- inc esi
- cmp al, dl
- jne SHORT $LN6@check
- cmp BYTE PTR [esi], 0
- jne SHORT $LL2@check
- jmp SHORT $LN12@check
- $LN3@check:
- cmp BYTE PTR [esi], 0
- jne SHORT $LN6@check
- $LN12@check:
- cmp BYTE PTR [ecx], 0
- jne SHORT $LN6@check
- mov eax, 1
- pop esi
- add esp, 256 ; 00000100H
- ret 0
- $LN6@check:
- xor eax, eax
- pop esi
- add esp, 256 ; 00000100H
- ret 0
- int check(char const *) ENDP ; check
- _argc$ = 8 ; size = 4
- _argv$ = 12 ; size = 4
- _main PROC ; COMDAT
- mov eax, DWORD PTR _argv$[esp-4]
- push DWORD PTR [eax+4]
- call int check(char const *) ; check
- add esp, 4
- ret 0
- _main ENDP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement