Function at 0x40ad5b
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [ebp - 0x228]
mov dl, byte [ecx + 0xa]
mov byte [ebp - 0x1fd], dl
mov eax, dword [ebp - 0x614]
sub eax, dword [ebp - 0x228]
mov dword [ebp - 0xc0c], eax
mov dword [ebp - 0x700], 0
push ebx
push eax
add esp, 4
and ebx, 0xd4cc
pop ebx
push edi
sub edi, 0x8040
xor edi, 0x3a74
call 0x409e07
add byte [esi], bh
aas
cmp al, 0x32
inc edx
inc ecx
xor edi, dword [ecx]
aaa
add esp, 4
add edi, 0xa5ea
pop edi
mov byte [ebp - 0x598], 0x56
mov byte [ebp - 0x597], 0x69
mov byte [ebp - 0x596], 0x72
mov byte [ebp - 0x595], 0x74
mov byte [ebp - 0x594], 0x75
mov byte [ebp - 0x593], 0x61
mov byte [ebp - 0x592], 0x6c
mov byte [ebp - 0x591], 0x50
mov byte [ebp - 0x590], 0x72
mov byte [ebp - 0x58f], 0x6f
mov byte [ebp - 0x58e], 0x74
mov byte [ebp - 0x58d], 0x65
mov byte [ebp - 0x58c], 0x63
mov byte [ebp - 0x58b], 0x74
mov byte [ebp - 0x58a], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0xe68], ecx
mov edx, dword [ebp - 0xe68]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0xe6c], eax
mov ecx, dword [ebp - 0xe6c]
mov dword [ebp - 0xb90], ecx
push esi
add esi, 0xf506
and esi, 0x702b
sub esi, 0xd09e
sub esi, 0x10ad1
or al, byte [ecx]
add byte [esi + 0x53], bl
push ecx
add esp, 4
and ebx, 0x8ce5
pop ebx
push esi
push eax
add esp, 4
and esi, 0x12c19
pop esi
cmp dword [ebp - 0xb90], 0
jne 0x409eec
mov dword [ebp - 0x18c], 0
jmp 0x40a193
mov edx, dword [ebp - 0xb90]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x6dc], ecx
push ebx
push esi
add esp, 4
add ebx, 0x78dd
xor ebx, 0x1653c
pop ebx
push edi
push ecx
add esp, 4
xor edi, 0x8432
xor edi, 0x17055
pop edi
push esi
sub esi, 0x308c
or esi, 0x106d1
pop esi
cmp dword [ebp - 0x6dc], 0
jne 0x409f48
mov dword [ebp - 0x18c], 0
jmp 0x40a193
mov edx, dword [ebp - 0x6dc]
mov dword [ebp - 0x24c], edx
push edi
and edi, 0x4bc2
or edi, 0x11f4c
jmp 0x409f67
pop edi
push esi
call 0x409f76
add byte [esi + 0x40], cl
aas
cmp al, 0x42
dec eax
dec esi
add esp, 4
sub esi, 0x13ec0
and esi, 0xb1d7
pop esi
lea eax, [ebp - 0xc50]
mov dword [ebp - 0x6d8], eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x6d4], edx
xor eax, eax
mov word [ebp - 0x120], ax
xor ecx, ecx
mov word [ebp - 0x34], cx
push esi
xor esi, 0xf11d
call 0x409fc5
add byte [eax + 0x4e], al
xor eax, 0x3e3f374e
dec edx
add esp, 4
and esi, 0x12f36
pop esi
push ebx
or ebx, 0xd625
sub ebx, 0xfb0c
jmp 0x409fe1
pop ebx
mov edx, dword [ebp - 0x6d4]
mov ax, word [edx]
mov word [ebp - 0x88e], ax
invalid
dec dword [ebx - 0x6d373]
inc dword [ebx - 0x7276fd3f]
sub al, 0xf9
invalid
jmp dword [esi - 0x75]
xchg ebp, eax
jb 0x409ffd
invalid
jmp dword [esi - 0x77]
xchg ebp, eax
loopne 0x40a00b
invalid
dec dword [ebx - 0x6d77b]
jmp dword [esi - 0x75]
or byte [esi - 0x77], ah
lea esi, [eax - 9]
invalid
dec dword [ebx - 0x6d76b]
inc dword [ebx - 0x6a76fd3e]
sub cl, bh
invalid
jmp dword [esi - 0x75]
test dword [eax - 9], esi
invalid
jmp dword [esi - 0x77]
inc ebp
int3
push eax
push edi
add esp, 4
add eax, 0x501c
jmp 0x40a04b
pop eax
push edi
push ebx
add esp, 4
jmp 0x40a057
add edi, 0x17336
or edi, 0x7131
jmp 0x40a06a
pop edi
movzx ecx, word [ebp - 0x34]
test ecx, ecx
jne 0x40a088
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x34]
sub edx, eax
mov dword [ebp - 0xb98], edx
jmp 0x40a0e2
movzx ecx, word [ebp - 0x120]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
je 0x409fb0
movzx eax, word [ebp - 0x120]
xor eax, 0x20
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x409fb0
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x34]
cmp edx, eax
jge 0x40a0cc
mov dword [ebp - 0xb94], 0xffffffff
jmp 0x40a0d6
mov dword [ebp - 0xb94], 1
mov ecx, dword [ebp - 0xb94]
mov dword [ebp - 0xb98], ecx
cmp dword [ebp - 0xb98], 0
jne 0x40a12b
push ecx
push eax
add esp, 4
sub ecx, 0x455e
or ecx, 0x1adf
pop ecx
push eax
push eax
add esp, 4
or eax, 0x37ab
add eax, 0x69c2
pop eax
push ebx
or ebx, 0x18358
and ebx, 0x291
pop ebx
mov edx, dword [ebp - 0x24c]
mov dword [ebp - 0x18c], edx
jmp 0x40a193
push edx
push ebx
add esp, 4
sub edx, 0x9790
call 0x40a144
add byte [eax], bh
inc esp
dec esi
dec ecx
dec eax
dec edx
inc eax
add esp, 4
or edx, 0x70a5
call 0x40a159
add byte [esi], dh
xor eax, 0x3b464d33
add esp, 4
pop edx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax]
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
cmp edx, dword [ebp - 0x6dc]
je 0x40a189
mov eax, dword [ebp - 0x24c]
cmp dword [eax + 0x30], 0
jne 0x409f54
mov dword [ebp - 0x18c], 0
push ecx
push esi
add esp, 4
jmp 0x40a1a0
and ecx, 0xfda
xor ecx, 0x133ec
pop ecx
push edi
push edi
add esp, 4
and edi, 0x1d53
pop edi
push edx
push esi
add esp, 4
add edx, 0xc232
pop edx
cmp dword [ebp - 0x18c], 0
jne 0x40aa98
mov ecx, 0x6b
mov word [ebp - 0xcc4], cx
mov edx, 0x65
mov word [ebp - 0xcc2], dx
mov eax, 0x72
mov word [ebp - 0xcc0], ax
mov ecx, 0x6e
mov word [ebp - 0xcbe], cx
mov edx, 0x65
mov word [ebp - 0xcbc], dx
mov eax, 0x6c
mov word [ebp - 0xcba], ax
mov ecx, 0x33
mov word [ebp - 0xcb8], cx
mov edx, 0x32
mov word [ebp - 0xcb6], dx
mov eax, 0x2e
mov word [ebp - 0xcb4], ax
mov ecx, 0x64
mov word [ebp - 0xcb2], cx
mov edx, 0x6c
mov word [ebp - 0xcb0], dx
mov dword [ebp - 0xcb0], edx
mov eax, 0x6c
mov word [ebp - 0xcae], ax
xor ecx, ecx
mov word [ebp - 0xcac], cx
push eax
push edx
add esp, 4
sub eax, 0x1340f
xor eax, 0x75e1
pop eax
push ecx
push ecx
add esp, 4
xor ecx, 0xc222
pop ecx
push esi
xor esi, 0x48de
add esi, 0x6be3
and esi, 0x12621
pop esi
mov byte [ebp - 0x4d0], 0x4c
mov byte [ebp - 0x4cf], 0x6f
mov byte [ebp - 0x4ce], 0x61
mov byte [ebp - 0x4cd], 0x64
mov byte [ebp - 0x4cc], 0x4c
mov byte [ebp - 0x4cb], 0x69
mov byte [ebp - 0x4ca], 0x62
mov byte [ebp - 0x4c9], 0x72
mov byte [ebp - 0x4c8], 0x61
mov byte [ebp - 0x4c7], 0x72
mov byte [ebp - 0x4c6], 0x79
mov byte [ebp - 0x4c5], 0x57
mov byte [ebp - 0x4c4], 0
mov edx, dword fs:[0x18]
mov dword [ebp - 0xe70], edx
mov eax, dword [ebp - 0xe70]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xe74], ecx
mov edx, dword [ebp - 0xe74]
mov dword [ebp - 0xb9c], edx
push edx
push ecx
add esp, 4
jmp 0x40a32d
sub edx, 0x16aec
xor edx, 0x14aa0
pop edx
push esi
push ecx
add esp, 4
add esi, 0x61f
or esi, 0x15cf0
sub esi, 0x7191
pop esi
cmp dword [ebp - 0xb9c], 0
jne 0x40a36a
mov dword [ebp - 0x3f0], 0
jmp 0x40a611
mov eax, dword [ebp - 0xb9c]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x6e8], edx
push eax
push ebx
add esp, 4
xor eax, 0x94d8
pop eax
push ebx
xor ebx, 0x180c7
or ebx, 0xec83
sub ebx, 0x16e16
pop ebx
push ecx
push esi
add esp, 4
xor ecx, 0x1219
or ecx, 0x10074
pop ecx
cmp dword [ebp - 0x6e8], 0
jne 0x40a3c6
mov dword [ebp - 0x3f0], 0
jmp 0x40a611
mov eax, dword [ebp - 0x6e8]
mov dword [ebp - 0x248], eax
push edi
push eax
add esp, 4
call 0x40a3e5
add byte [edx + 0x35], cl
aas
inc esp
dec esp
xor al, 0x3c
add esp, 4
xor edi, 0x8be6
pop edi
push eax
xor eax, 0x164fa
add eax, 0xa70b
jmp 0x40a403
pop eax
lea ecx, [ebp - 0xcc4]
mov dword [ebp - 0x6e4], ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6e0], eax
xor ecx, ecx
mov word [ebp - 0x124], cx
xor edx, edx
mov word [ebp - 0x38], dx
push ebx
push ecx
add esp, 4
xor ebx, 0x12cc5
xor ebx, 0xb173
xor ebx, 0x8664
or ebx, 0xa38e
pop ebx
push edx
push eax
add esp, 4
sub edx, 0xf852
pop edx
push esi
xor esi, 0x6be9
pop esi
mov eax, dword [ebp - 0x6e0]
mov cx, word [eax]
mov word [ebp - 0x892], cx
mov edx, dword [ebp - 0x6e0]
add edx, 2
mov dword [ebp - 0x6e0], edx
mov ax, word [ebp - 0x892]
mov word [ebp - 0x124], ax
mov ecx, dword [ebp - 0x6e4]
mov dx, word [ecx]
mov word [ebp - 0x894], dx
mov eax, dword [ebp - 0x6e4]
add eax, 2
mov dword [ebp - 0x6e4], eax
mov cx, word [ebp - 0x894]
mov word [ebp - 0x38], cx
push edi
push edi
add esp, 4
jmp 0x40a4c5
jmp 0x40a4ce
and edi, 0x8ed9
xor edi, 0xbbd2
pop edi
push edi
and edi, 0x17f30
sub edi, 0x12c98
pop edi
movzx edx, word [ebp - 0x38]
test edx, edx
jne 0x40a506
movzx eax, word [ebp - 0x124]
movzx ecx, word [ebp - 0x38]
sub eax, ecx
mov dword [ebp - 0xbe4], eax
jmp 0x40a560
movzx edx, word [ebp - 0x124]
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x40a42e
movzx ecx, word [ebp - 0x124]
xor ecx, 0x20
movzx edx, word [ebp - 0x38]
cmp ecx, edx
je 0x40a42e
movzx eax, word [ebp - 0x124]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
jge 0x40a54a
mov dword [ebp - 0xba0], 0xffffffff
jmp 0x40a554
mov dword [ebp - 0xba0], 1
mov edx, dword [ebp - 0xba0]
mov dword [ebp - 0xbe4], edx
cmp dword [ebp - 0xbe4], 0
jne 0x40a5a9
push edi
push edi
add esp, 4
jmp 0x40a573
or edi, 0x146b9
xor edi, 0x16c0d
pop edi
push ecx
push edx
add esp, 4
add ecx, 0x52c8
sub ecx, 0x67f6
jmp 0x40a59a
pop ecx
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x3f0], eax
jmp 0x40a611
push edi
jmp 0x40a5b3
pop edi
push eax
call 0x40a5c3
add byte [eax + 0x34], al
xor eax, 0x504f4935
cmp al, 0x83
les eax, [ecx + eax*4]
ror byte [esi + 0x67], 0
add bl, ch
push es
aaa
inc ecx
dec ebx
xor bh, byte [edx]
xor al, byte [ecx + 0xea6cf0]
add byte [eax - 0x75], bl
lea edi, [eax - 0x74000003]
adc dword [ecx - 0x2476b], ecx
dec dword [ebx - 0x2477b]
invalid
cmp dword [ebp - 0x3f0], 0
jne 0x40a65b
push eax
sub eax, 0xd20d
and eax, 0xd74
pop eax
push esi
push ecx
add esp, 4
or esi, 0xed98
call 0x40a63f
add byte [ebx + 0x37], al
dec esp
dec ecx
dec ebx
inc edx
add esp, 4
jmp 0x40a64b
pop esi
mov dword [ebp - 0x618], 0
jmp 0x40b183
push ebx
sub ebx, 0x16b04
or ebx, 0x16345
pop ebx
push edx
and edx, 0x7272
add edx, 0x2573
jmp 0x40a67d
jmp 0x40a684
pop edx
push esi
or esi, 0xf133
pop esi
mov edx, dword [ebp - 0x3f0]
mov eax, dword [edx + 0x18]
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x400], 0
mov ecx, dword [ebp - 0x1bc]
mov dword [ebp - 0xbe8], ecx
cmp dword [ebp - 0xbe8], 0
jne 0x40a6cc
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x240], edx
jmp 0x40a9bd
mov eax, dword [ebp - 0xbe8]
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0xbec], ecx
jne 0x40a6f4
mov edx, dword [ebp - 0x400]
mov dword [ebp - 0x240], edx
jmp 0x40a9bd
mov eax, 8
imul ecx, eax, 0
mov edx, dword [ebp - 0xbec]
mov eax, dword [edx + ecx + 0x78]
mov dword [ebp - 0xbf0], eax
cmp dword [ebp - 0xbf0], 0
jne 0x40a726
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x240], ecx
jmp 0x40a9bd
mov edx, dword [ebp - 0x1bc]
add edx, dword [ebp - 0xbf0]
mov dword [ebp - 0x3f4], edx
jne 0x40a74b
mov eax, dword [ebp - 0x400]
mov dword [ebp - 0x240], eax
jmp 0x40a9bd
mov ecx, dword [ebp - 0x3f4]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ecx + 0x20]
mov dword [ebp - 0xe78], edx
mov eax, dword [ebp - 0x3f4]
mov ecx, dword [ebp - 0x1bc]
add ecx, dword [eax + 0x24]
mov dword [ebp - 0xe7c], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x1bc]
add eax, dword [edx + 0x1c]
mov dword [ebp - 0xe80], eax
mov dword [ebp - 0x3f8], 0
jmp 0x40a7a5
mov ecx, dword [ebp - 0x3f8]
add ecx, 1
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x3f4]
mov eax, dword [ebp - 0x3f8]
cmp eax, dword [edx + 0x18]
jae 0x40a9b1
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0xe78]
mov eax, dword [ebp - 0x1bc]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0xe7c]
movzx eax, word [edx + ecx*2]
mov ecx, dword [ebp - 0xe80]
mov edx, dword [ebp - 0x1bc]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0xe84], edx
mov dword [ebp - 0xc4], 0
jmp 0x40a815
mov eax, dword [ebp - 0xc4]
add eax, 1
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0x3fc]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
test edx, edx
je 0x40a8c7
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x4d0]
test ecx, ecx
je 0x40a8c7
push esi
sub esi, 0x17378
sub esi, 0x1fe8
pop esi
push ecx
call 0x40a861
add byte [ebx + 0x3b], cl
dec edx
xor bh, byte [eax]
xor al, 0x4c
cmp eax, 0xc483323b
add al, 0xeb
pop es
aas
inc esp
xor al, 0x4c
inc esi
dec eax
add ecx, 0x16dbb
pop ecx
mov edx, dword [ebp - 0x3fc]
add edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ebp + ecx - 0x4d0]
cmp eax, edx
je 0x40a8b9
mov eax, dword [ebp - 0x3fc]
add eax, dword [ebp - 0xc4]
movsx ecx, byte [eax]
xor ecx, 0x20
mov edx, dword [ebp - 0xc4]
movsx eax, byte [ebp + edx - 0x4d0]
cmp ecx, eax
jne 0x40a8c0
jmp 0x40a806
jmp 0x40a8c7
push edx
or edx, 0x160c7
and edx, 0x8fba
sub edx, 0x3b5
and edx, 0x12ac
pop edx
push eax
push edi
add esp, 4
sub eax, 0xc82a
pop eax
push edi
push edi
add esp, 4
and edi, 0xe9ea
pop edi
mov ecx, dword [ebp - 0x3fc]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0xc4]
movsx ecx, byte [ebp + eax - 0x4d0]
cmp edx, ecx
jne 0x40a926
mov dword [ebp - 0x6ec], 0
jmp 0x40a995
push edi
push ecx
add esp, 4
xor edi, 0x165f
sub edi, 0x89f9
jmp 0x40a93d
pop edi
push edx
sub edx, 0xb20
call 0x40a954
add byte [edi], bh
dec edx
aas
inc edx
cmp byte [ebx], dh
aas
dec esi
aaa
add esp, 4
pop edx
mov edx, dword [ebp - 0x3fc]
add edx, dword [ebp - 0xc4]
movsx eax, byte [edx]
or eax, 0x20
mov ecx, dword [ebp - 0xc4]
movsx edx, byte [ebp + ecx - 0x4d0]
or edx, 0x20
cmp eax, edx
jge 0x40a98b
mov dword [ebp - 0x6ec], 0xffffffff
jmp 0x40a995
mov dword [ebp - 0x6ec], 1
cmp dword [ebp - 0x6ec], 0
jne 0x40a9ac
mov eax, dword [ebp - 0xe84]
mov dword [ebp - 0x240], eax
jmp 0x40a9bd
jmp 0x40a796
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x240], ecx
cmp dword [ebp - 0x240], 0
je 0x40aa98
push ebx
push edi
add esp, 4
sub ebx, 0x15c29
pop ebx
push ebx
add ebx, 0xf822
or ebx, 0x2dd5
pop ebx
push ecx
push ecx
add esp, 4
add ecx, 0xc346
and ecx, 0xe0d0
sub ecx, 0x340a
pop ecx
mov edx, dword [ebp - 0x240]
mov dword [ebp - 0xe88], edx
push edi
push edx
add esp, 4
add edi, 0xfbc1
pop edi
push eax
call 0x40aa24
add byte [ebx + 0x39], al
inc edi
dec esi
inc edi
inc ebp
cmp al, byte [ecx + 0x46]
add esp, 4
or eax, 0x482d
and eax, 0x7f4a
or eax, 0x4da8
pop eax
mov eax, dword [ebp - 0xe88]
mov dword [ebp - 0xe8c], eax
lea ecx, [ebp - 0xc50]
push ecx
call dword [ebp - 0xe8c]
test eax, eax
jne 0x40aa98
push edi
push eax
add esp, 4
and edi, 0xb738
jmp 0x40aa69
jmp 0x40aa6e
or edi, 0xfeed
pop edi
push ecx
add ecx, 0x13295
and ecx, 0x12a7c
xor ecx, 0x1388a
pop ecx
mov dword [ebp - 0x618], 0
jmp 0x40b183
push ebx
push esi
add esp, 4
and ebx, 0x176b6
add ebx, 0xd2b3
pop ebx
push edx
or edx, 0x9cb4
call 0x40aabd
add byte [edi + 0x3c], al
dec ecx
inc esp
xor al, 0x83
les eax, [ebx + ebp*8]
pop es
inc eax
xor eax, dword [ebx + 0x41]
inc esi
cmp al, 0x32
pop edx
mov edx, dword fs:[0x18]
mov dword [ebp - 0xe90], edx
mov eax, dword [ebp - 0xe90]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xe94], ecx
mov edx, dword [ebp - 0xe94]
mov dword [ebp - 0xbf4], edx
push esi
push ebx
add esp, 4
or esi, 0x23e7
pop esi
push esi
and esi, 0x14424
sub esi, 0x15df6
pop esi
push esi
call 0x40ab1a
add byte [ebx], bh
cmp byte [esi + 0x44], al
dec esp
cmp bh, byte [edi]
add esp, 4
add esi, 0x8473
pop esi
cmp dword [ebp - 0xbf4], 0
jne 0x40ab3c
mov dword [ebp - 0x18c], 0
jmp 0x40ade3
mov eax, dword [ebp - 0xbf4]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x6f8], edx
push edx
push ebx
add esp, 4
sub edx, 0x8735
add edx, 0x9f3f
sub edx, 0x1e29
sub edx, 0x2b13
pop edx
push esi
or esi, 0x14c8c
pop esi
push edx
push edi
add esp, 4
xor edx, 0x182bf
pop edx
cmp dword [ebp - 0x6f8], 0
jne 0x40ab98
mov dword [ebp - 0x18c], 0
jmp 0x40ade3
mov eax, dword [ebp - 0x6f8]
mov dword [ebp - 0x244], eax
push ebx
and ebx, 0xbc71
sub ebx, 0x180c9
and ebx, 0xe94b
pop ebx
push edx
add edx, 0x6219
call 0x40abcc
add byte [edx + esi + 0x40], al
dec esi
xor edx, dword [eax + 0x32]
add esp, 4
or edx, 0x18393
pop edx
lea ecx, [ebp - 0xc50]
mov dword [ebp - 0x6f4], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x6f0], eax
xor ecx, ecx
mov word [ebp - 0x128], cx
xor edx, edx
mov word [ebp - 0x3c], dx
push esi
add esi, 0x16716
call 0x40ac15
add byte [eax], bh
inc edi
inc edx
dec edx
xor bh, byte [edi]
inc ebp
xor al, 0x83
les eax, [esi + ebx*2]
push ecx
push edx
add esp, 4
call 0x40ac2e
add byte [eax + eax*2 + 0x3a], al
aas
inc esp
cmp eax, 0x33493639
add esp, 4
pop ecx
mov eax, dword [ebp - 0x6f0]
mov cx, word [eax]
mov word [ebp - 0x896], cx
mov edx, dword [ebp - 0x6f0]
add edx, 2
mov dword [ebp - 0x6f0], edx
mov ax, word [ebp - 0x896]
mov word [ebp - 0x128], ax
mov ecx, dword [ebp - 0x6f4]
mov dx, word [ecx]
mov word [ebp - 0x898], dx
mov eax, dword [ebp - 0x6f4]
add eax, 2
mov dword [ebp - 0x6f4], eax
mov cx, word [ebp - 0x898]
mov word [ebp - 0x3c], cx
push eax
push ebx
add esp, 4
xor eax, 0x11ee9
jmp 0x40ac9d
add eax, 0xf2d2
pop eax
push eax
add eax, 0xd01f
jmp 0x40acb1
jmp 0x40acba
pop eax
movzx edx, word [ebp - 0x3c]
test edx, edx
jne 0x40acd8
movzx eax, word [ebp - 0x128]
movzx ecx, word [ebp - 0x3c]
sub eax, ecx
mov dword [ebp - 0xbfc], eax
jmp 0x40ad32
movzx edx, word [ebp - 0x128]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
je 0x40ac00
movzx ecx, word [ebp - 0x128]
xor ecx, 0x20
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x40ac00
movzx eax, word [ebp - 0x128]
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
jge 0x40ad1c
mov dword [ebp - 0xbf8], 0xffffffff
jmp 0x40ad26
mov dword [ebp - 0xbf8], 1
mov edx, dword [ebp - 0xbf8]
mov dword [ebp - 0xbfc], edx
cmp dword [ebp - 0xbfc], 0
jne 0x40ad7b
push ecx
push ecx
add esp, 4
add ecx, 0x144a2
sub ecx, 0x185eb
call 0x40ad5b
add byte [ecx + 0x44], cl
dec ebx
dec ebx
inc edi
inc edi
dec esp
inc edx
inc edi
add esp, 4
pop ecx
push esi
push edx
add esp, 4
jmp 0x40ad6c
pop esi
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x18c], eax
jmp 0x40ade3
push eax
add eax, 0xcd0
add eax, 0x14c0d
jmp 0x40ad90
pop eax
push ecx
push ebx
add esp, 4
call 0x40ada3
add byte [edx + 0x44], al
aas
cmp dword [edx], edi
dec eax
aaa
add esp, 4
sub ecx, 0x485e
pop ecx
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx]
mov dword [ebp - 0x244], edx
mov eax, dword [ebp - 0x244]
cmp eax, dword [ebp - 0x6f8]
je 0x40add9
mov ecx, dword [ebp - 0x244]
cmp dword [ecx + 0x30], 0
jne 0x40aba4
mov dword [ebp - 0x18c], 0
push ecx
push ebx
add esp, 4
sub ecx, 0xea7d
sub ecx, 0x6739
add ecx, 0x17a02
pop ecx
push esi
call 0x40ae0b
add byte [edi], dh
xor eax, 0x4d454f33
inc esp
dec ebx
cmp eax, 0x8104c483
invalid
push edi
call 0x40b193
add byte [esi + 0x4b], cl
xor al, byte [edx + 0x38]
xor al, 0x39
dec edi
aas
add esp, 4
call 0x40b1a5
add byte [ebx + 0x4f], cl
dec edx
cmp al, 0x45
xor al, byte ss:[ebx - 0x187efb3c]
rol dword [ebx - 0x307f0000], 0x54
inc ecx
add byte [eax], al
pop edi
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0xea8], eax
lea ecx, [ebp - 0x700]
push ecx
push 0x40
mov edx, dword [ebp - 0xc0c]
push edx
mov eax, dword [ebp - 0x228]
push eax
call dword [ebp - 0xea8]
test eax, eax
jne 0x40b228
push edx
push esi
add esp, 4
xor edx, 0x66c0
xor edx, 0x13778
add edx, 0x14861
pop edx
push edx
push eax
add esp, 4
or edx, 0x154fc
pop edx
push edi
xor edi, 0x10e30
or edi, 0xfe85
pop edi
mov ecx, dword [ebp - 0x418]
mov dword [ebp - 0xeac], ecx
push 0
call dword [ebp - 0xeac]
mov edx, dword [ebp - 0xeb0]
mov dword [ebp - 0x414], edx
jmp 0x40b245
mov eax, dword [ebp - 0x414]
add eax, 1
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
cmp ecx, dword [ebp - 0x614]
jae 0x40b2a1
push esi
push esi
add esp, 4
xor esi, 0x17334
add esi, 0x3458
and esi, 0x8112
pop esi
push ecx
add ecx, 0x9c2f
pop ecx
push esi
push ebx
add esp, 4
xor esi, 0x7db1
add esi, 0x12b0
pop esi
movzx edx, byte [ebp - 0x1fd]
mov eax, dword [ebp - 0x414]
movsx ecx, byte [eax]
sub ecx, edx
mov edx, dword [ebp - 0x414]
mov byte [edx], cl
jmp 0x40b236
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0xeb4], eax
lea ecx, [ebp - 0x700]
push ecx
mov edx, dword [ebp - 0x700]
push edx
mov eax, dword [ebp - 0xc0c]
push eax
mov ecx, dword [ebp - 0x228]
push ecx
call dword [ebp - 0xeb4]
test eax, eax
jne 0x40b319
push ecx
push edi
add esp, 4
sub ecx, 0x12b4f
add ecx, 0x13075
and ecx, 0x7140
pop ecx
push edi
jmp 0x40b2f2
xor edi, 0x4614
pop edi
push ecx
push edi
add esp, 4
invalid
invalid