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

Disassembly:
mov ebp, 0xffffe9f0
add byte [ebp + 0x11], dh
mov eax, dword [ebp - 0x510]
mov dword [ebp - 0x79c], eax
push eax
push edx
add esp, 4
call 0x4062b0
add byte [eax + 0x50], dl
inc edi
xor al, 0x34
cmp edi, dword [edi]
xor edi, dword [edx]
add esp, 4
or eax, 0x15908
add eax, 0x6787
or eax, 0x7477
pop eax
push ebx
and ebx, 0x1474c
pop ebx
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x19dc], ecx
push ebx
and ebx, 0x14234
xor al, 0x42
add dword [eax], eax
add ebx, 0x7a8a
add ebx, 0x111c1
or ebx, 0xa7f1
pop ebx
push eax
push esi
add esp, 4
add eax, 0x2c9c
and eax, 0x280a
or eax, 0x14d09
pop eax
cmp dword [ebp - 0x3e8], 0
je 0x406321
cmp dword [ebp - 0xab8], 0
jne 0x406367
push esi
xor esi, 0x14446
sub esi, 0x541d
or esi, 0x180cd
pop esi
push ebx
jmp 0x40633e
pop ebx
push eax
push ebx
add esp, 4
add eax, 0xfe8f
jmp 0x406352
pop eax
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x1990], edx
push 0
call dword [ebp - 0x1990]
mov dword [ebp - 0x20a8], 0xa
push edi
or edi, 0x13b8f
pop edi
push ebx
push edx
add esp, 4
add ebx, 0x1c81
and ebx, 0x5151
or ebx, 0x884a
pop ebx
push eax
push eax
add esp, 4
add eax, 0x1d07
and eax, 0x8daa
pop eax
mov eax, dword [ebp - 0x3e8]
mov cl, byte [eax + 0xa]
mov byte [ebp - 0x3ae], cl
mov edx, dword [ebp - 0xab8]
sub edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x1694], edx
mov dword [ebp - 0xce8], 0
push eax
push eax
add esp, 4
call 0x4063e2
add byte [ebx + 0x36], cl
dec ebx
inc edx
cmp dword [ecx + ecx*2 + 0x3a], ecx
cmp eax, 0x5804c483
push edx
xor edx, 0x9fc1
and edx, 0x38a4
and edx, 0x4efc
and edx, 0x49f
pop edx
mov byte [ebp - 0x9d4], 0x56
mov byte [ebp - 0x9d3], 0x69
mov byte [ebp - 0x9d2], 0x72
mov byte [ebp - 0x9d1], 0x74
mov byte [ebp - 0x9d0], 0x75
mov byte [ebp - 0x9cf], 0x61
mov byte [ebp - 0x9ce], 0x6c
mov byte [ebp - 0x9cd], 0x50
mov byte [ebp - 0x9cc], 0x72
mov byte [ebp - 0x9cb], 0x6f
mov byte [ebp - 0x9ca], 0x74
mov byte [ebp - 0x9c9], 0x65
mov byte [ebp - 0x9c8], 0x63
mov byte [ebp - 0x9c7], 0x74
mov byte [ebp - 0x9c6], 0
push edi
xor edi, 0x587c
and edi, 0x1e7b
and edi, 0x16985
and edi, 0x690
pop edi
push ecx
push ebx
add esp, 4
or ecx, 0x6f9d
sub ecx, 0xb4b5
mov ch, 0xb4
add byte [eax], al
or ecx, 0x9c52
pop ecx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1994], eax
mov ecx, dword [ebp - 0x1994]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1998], edx
mov eax, dword [ebp - 0x1998]
mov dword [ebp - 0x1614], eax
push ecx
push ecx
add esp, 4
call 0x4064d4
add byte [ebx + 0x43], al
dec esi
dec esi
xor eax, 0xc4834d3d
add al, 0xe8
or byte [eax], al
add byte [eax], al
add byte [ebp + 0x4b], al
cmp dword [eax], edi
xor eax, dword [esi + 0x39]
add esp, 4
pop ecx
push eax
push ecx
add esp, 4
jmp 0x4064f3
pop eax
cmp dword [ebp - 0x1614], 0
jne 0x40650c
mov dword [ebp - 0x2fc], 0
jmp 0x4067b3
mov ecx, dword [ebp - 0x1614]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push edi
jmp 0x406524
invalid
jmp 0x40652c
and edi, 0x16a39
pop edi
push edi
or edi, 0x111ac
xor edi, 0x119d0
pop edi
push edi
jmp 0x406547
jmp 0x40654f
pop edi
cmp dword [ebp - 0xcc4], 0
jne 0x406568
mov dword [ebp - 0x2fc], 0
jmp 0x4067b3
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push ebx
call 0x406582
add byte [ecx*2 + 0x454f3450], dh
aas
add esp, 4
sub ebx, 0x152c3
pop ebx
push ecx
push edx
add esp, 4
add ecx, 0x4abf
sub ecx, 0x15089
pop ecx
push ebx
xor ebx, 0x88ee
pop ebx
lea edx, [ebp - 0x1738]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x514]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xcbc], ecx
xor edx, edx
mov word [ebp - 0x21c], dx
xor eax, eax
mov word [ebp - 0x38], ax
push ebx
push edx
add esp, 4
add ebx, 0xfeb1
sub ebx, 0x1451f
xor ebx, 0xd4b0
and ebx, 0x6ed3
pop ebx
push edx
xor edx, 0x12c05
add edx, 0x110ce
xor edx, 0x6971
pop edx
mov ecx, dword [ebp - 0xcbc]
mov dx, word [ecx]
mov word [ebp - 0x103e], dx
mov eax, dword [ebp - 0xcbc]
add eax, 2
mov dword [ebp - 0xcbc], eax
mov cx, word [ebp - 0x103e]
mov word [ebp - 0x21c], cx
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x1040], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x1040]
mov word [ebp - 0x38], dx
push ebx
push edx
add esp, 4
sub ebx, 0x2ff8
add ebx, 0xc28
call 0x406679
add byte [eax + 0x4e], al
inc edi
dec edi
inc ecx
cmp edi, dword [eax]
inc ebx
add esp, 4
pop ebx
push eax
jmp 0x406684
or eax, 0x14341
pop eax
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x4066a8
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
sub ecx, edx
mov dword [ebp - 0x161c], ecx
jmp 0x406702
movzx eax, word [ebp - 0x21c]
movzx ecx, word [ebp - 0x38]
cmp eax, ecx
je 0x4065d0
movzx edx, word [ebp - 0x21c]
xor edx, 0x20
movzx eax, word [ebp - 0x38]
cmp edx, eax
je 0x4065d0
movzx ecx, word [ebp - 0x21c]
movzx edx, word [ebp - 0x38]
cmp ecx, edx
jge 0x4066ec
mov dword [ebp - 0x1618], 0xffffffff
jmp 0x4066f6
mov dword [ebp - 0x1618], 1
mov eax, dword [ebp - 0x1618]
mov dword [ebp - 0x161c], eax
cmp dword [ebp - 0x161c], 0
jne 0x40674b
push eax
call 0x40671a
add byte [ecx], bh
aaa
inc ebx
inc edi
inc esp
dec eax
xor al, 0x34
add esp, 4
sub eax, 0x41e2
call 0x406733
add byte [esi], dh
dec esi
push eax
dec esi
cmp bh, byte [eax]
inc esp
inc ebx
aas
add esp, 4
and eax, 0x16175
pop eax
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0x2fc], ecx
jmp 0x4067b3
push esi
sub esi, 0x9ed8
jmp 0x406757
pop esi
push edi
push ebx
add esp, 4
add edi, 0xb612
pop edi
push ebx
push eax
add esp, 4
sub ebx, 0xbbb3
or ebx, 0x43e1
jmp 0x40677c
pop ebx
mov edx, dword [ebp - 0x514]
mov eax, dword [edx]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
cmp ecx, dword [ebp - 0xcc4]
je 0x4067a9
mov edx, dword [ebp - 0x514]
cmp dword [edx + 0x30], 0
jne 0x406574
mov dword [ebp - 0x2fc], 0
push eax
and eax, 0x1189
pop eax
push edx
sub edx, 0x162e0
xor edx, 0xc70
jmp 0x4067cf
pop edx
push ecx
call 0x4067e1
add byte [ebx], bh
dec ebp
inc edx
xor edi, dword [esp + edi]
inc ecx
xor eax, 0xc4834f4b
add al, 0x59
cmp dword [ebp - 0x2fc], 0
jne 0x4070ea
mov eax, 0x6b
mov word [ebp - 0x1790], ax
mov ecx, 0x65
mov word [ebp - 0x178e], cx
mov edx, 0x72
mov word [ebp - 0x178c], dx
mov eax, 0x6e
mov word [ebp - 0x178a], ax
mov ecx, 0x65
mov word [ebp - 0x1788], cx
mov edx, 0x6c
mov word [ebp - 0x1786], dx
mov eax, 0x33
mov word [ebp - 0x1784], ax
mov ecx, 0x32
mov word [ebp - 0x1782], cx
mov edx, 0x2e
mov word [ebp - 0x1780], dx
mov eax, 0x64
mov word [ebp - 0x177e], ax
mov ecx, 0x6c
mov word [ebp - 0x177c], cx
mov edx, 0x6c
mov word [ebp - 0x177a], dx
xor eax, eax
mov word [ebp - 0x1778], ax
push edx
sub edx, 0xf8e3
sub edx, 0x7244
or edx, 0xdc4f
add edx, 0x6bf9
pop edx
push edx
push eax
add esp, 4
and edx, 0x6409
and edx, 0xfb48
xor edx, 0xc8ae
pop edx
mov byte [ebp - 0x8a4], 0x4c
mov byte [ebp - 0x8a3], 0x6f
mov byte [ebp - 0x8a2], 0x61
mov byte [ebp - 0x8a1], 0x64
mov byte [ebp - 0x8a0], 0x4c
mov byte [ebp - 0x89f], 0x69
mov byte [ebp - 0x89e], 0x62
mov byte [ebp - 0x89d], 0x72
mov byte [ebp - 0x89c], 0x61
mov byte [ebp - 0x89b], 0x72
mov byte [ebp - 0x89a], 0x79
mov byte [ebp - 0x899], 0x57
mov byte [ebp - 0x898], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x199c], ecx
mov edx, dword [ebp - 0x199c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19a0], eax
mov ecx, dword [ebp - 0x19a0]
mov dword [ebp - 0x1620], ecx
push eax
and eax, 0xb2ef
sub eax, 0xff0
xor eax, 0x15ec9
pop eax
push edx
push eax
add esp, 4
and edx, 0xb8f7
add edx, 0x7935
pop edx
push ecx
push edi
add esp, 4
xor ecx, 0x184fd
pop ecx
cmp dword [ebp - 0x1620], 0
jne 0x40698a
mov dword [ebp - 0x774], 0
jmp 0x406c31
mov edx, dword [ebp - 0x1620]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcd0], ecx
push edx
push eax
add esp, 4
and edx, 0x6f7f
pop edx
push esi
sub esi, 0xe3cd
xor esi, 0x17a32
sub esi, 0x1662b
call 0x4069ca
add byte [edi + eax*2], bh
dec edi
inc edi
cmp al, byte [ebx + 0x39]
dec ebp
inc esp
add esp, 4
pop esi
cmp dword [ebp - 0xcd0], 0
jne 0x4069e6
mov dword [ebp - 0x774], 0
jmp 0x406c31
mov edx, dword [ebp - 0xcd0]
mov dword [ebp - 0x518], edx
push ecx
push ecx
add esp, 4
or ecx, 0xb26e
add ecx, 0x3e9d
add ecx, 0x1460a
pop ecx
push ecx
and ecx, 0xbb3d
xor ecx, 0x15aa6
add ecx, 0x143b3
sub ecx, 0x10663
pop ecx
lea eax, [ebp - 0x1790]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ecx
sub ecx, 0xa4fa
or ecx, 0x18391
sub ecx, 0x797f
pop ecx
push edx
push eax
add esp, 4
xor edx, 0xff56
jmp 0x406a73
or edx, 0xc2ca
and edx, 0x14a0b
pop edx
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push ebx
push edx
add esp, 4
sub ebx, 0x10eeb
pop ebx
push ecx
push esi
add esp, 4
xor ecx, 0x88d9
and ecx, 0x595b
pop ecx
push ebx
sub ebx, 0xf128
pop ebx
push ecx
push edx
add esp, 4
or ecx, 0x1585f
pop ecx
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x406b26
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1668], edx
jmp 0x406b80
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x406a4e
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x406a4e
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x406b6a
mov dword [ebp - 0x1624], 0xffffffff
jmp 0x406b74
mov dword [ebp - 0x1624], 1
mov ecx, dword [ebp - 0x1624]
mov dword [ebp - 0x1668], ecx
cmp dword [ebp - 0x1668], 0
jne 0x406bc9
push eax
and eax, 0x1150d
xor eax, 0xc917
pop eax
push esi
push esi
add esp, 4
or esi, 0x2c3b
add esi, 0x557d
pop esi
push ecx
push ecx
add esp, 4
jmp 0x406bb4
xor ecx, 0xfd29
pop ecx
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x406c31
push edx
push edx
add esp, 4
xor edx, 0x1656e
jmp 0x406bd9
add edx, 0x17e48
pop edx
push ecx
add ecx, 0xa4e5
call 0x406bf7
add byte [edi], dh
inc esp
aas
cmp dword [esi + 0x43], ecx
xor ecx, dword [edi + 0x45]
xor al, 0x83
les eax, [ecx + ebx*2]
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x406c27
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x4069f2
mov dword [ebp - 0x774], 0
push ecx
push eax
add esp, 4
add ecx, 0x13b49
sub ecx, 0x8dc8
pop ecx
push ebx
call 0x406c54
add byte [ebx], bh
xor ecx, dword [ecx + 0x40]
inc edi
dec esp
aas
dec esp
cmp al, byte [ebx + 0x3eb04c4]
dec edx
cmp byte [edx], bh
or ebx, 0xcc66
pop ebx
cmp dword [ebp - 0x774], 0
jne 0x406cad
push edi
call 0x406c7a
add byte [esi + eax*2], dh
cmp eax, 0x364c4336
add esp, 4
xor edi, 0x16a25
and edi, 0xb238
pop edi
push ecx
add ecx, 0x15613
xor ecx, 0x10962
and ecx, 0x103b5
pop ecx
mov dword [ebp - 0xab4], 0
jmp 0x4077d5
push edx
sub edx, 0x9171
or edx, 0x122c3
pop edx
push edi
call 0x406cca
add byte [edi + 0x41], cl
xor al, 0x3e
cmp eax, dword [esi + 0x3a]
aas
add esp, 4
call 0x406cdb
add byte [edx], dh
cmp eax, 0x42483646
cmp byte [ebx + eax*4], dh
les eax, [edi + ebx*2]
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x166c], eax
cmp dword [ebp - 0x166c], 0
jne 0x406d1e
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x40700f
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x406d46
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x40700f
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x406d78
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x40700f
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x406d9d
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x40700f
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19a4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19a8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19ac], edx
mov dword [ebp - 0x77c], 0
jmp 0x406df7
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x407003
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a4]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19ac]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19b0], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x406e67
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x406f19
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x406f19
push eax
and eax, 0x3898
and eax, 0x2df6
jmp 0x406ea7
xor eax, 0x5f33
pop eax
push eax
push eax
add esp, 4
xor eax, 0x36ab
xor eax, 0xba55
xor eax, 0xbbc6
pop eax
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
je 0x406f0b
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
jne 0x406f12
jmp 0x406e58
jmp 0x406f19
push ecx
sub ecx, 0xbb7e
pop ecx
push ecx
or ecx, 0x1125e
add ecx, 0x38fc
pop ecx
push ecx
jmp 0x406f36
pop ecx
push ebx
jmp 0x406f3e
sub ebx, 0x9c4d
xor ebx, 0x117ab
pop ebx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x406f78
mov dword [ebp - 0xcd4], 0
jmp 0x406fe7
push eax
call 0x406f86
add byte [edi + 0x35], cl
cmp eax, 0x48384a3b
add esp, 4
or eax, 0x14018
call 0x406f9f
add byte [edi + ecx*2 + 0x4f], cl
dec edx
dec esi
inc eax
inc edi
dec edx
add esp, 4
jmp 0x406fa9
pop eax
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
or ecx, 0x20
cmp edx, ecx
jge 0x406fdd
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x406fe7
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x406ffe
mov edx, dword [ebp - 0x19b0]
mov dword [ebp - 0x3f8], edx
jmp 0x40700f
jmp 0x406de8
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x4070ea
push edi
sub edi, 0x4ceb
and edi, 0x7671
or edi, 0xe59d
pop edi
push edi
push eax
add esp, 4
sub edi, 0xc73
add edi, 0x1da7
or edi, 0x115a1
jmp 0x40704d
pop edi
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x19b4], ecx
push esi
push edi
add esp, 4
and esi, 0x16f8b
or esi, 0x167a6
or esi, 0x168df
pop esi
push edi
push edi
add esp, 4
xor edi, 0xc1bc
pop edi
push ecx
or ecx, 0xd7e6
and ecx, 0xed83
pop ecx
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x19b8], edx
lea eax, [ebp - 0x1738]
push eax
call dword [ebp - 0x19b8]
test eax, eax
jne 0x4070ea
push edx
or edx, 0x134d2
pop edx
push ecx
sub ecx, 0xfafa
pop ecx
push ecx
call 0x4070c6
add byte [esi + 0x4e], al
cmp eax, 0x834a3c3f
les eax, [ecx + eax*4]
sar dword [ecx], 0x15
add byte [eax], al
jmp 0x4070d4
add ecx, 0x17f8e
pop ecx
mov dword [ebp - 0xab4], 0
jmp 0x4077d5
push ecx
push edi
add esp, 4
sub ecx, 0xb6a6
or ecx, 0x12468
or ecx, 0x74c8
pop ecx
push eax
add eax, 0x1621c
pop eax
push edx
push esi
add esp, 4
or edx, 0xe03
sub edx, 0x172a7
pop edx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x19bc]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x19c0]
mov dword [ebp - 0x167c], ecx
push ecx
xor ecx, 0x8db7
add ecx, 0x28
or ecx, 0x3519
or ecx, 0x1346
pop ecx
push edx
push edi
add esp, 4
add edx, 0xcf04
or edx, 0xc974
and edx, 0xfbcf
pop edx
cmp dword [ebp - 0x167c], 0
jne 0x40718e
mov dword [ebp - 0x2fc], 0
jmp 0x407435
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push edx
call 0x4071ad
add byte [edx + 0x4c], al
dec edi
dec edx
push eax
aas
add esp, 4
call 0x4071bc
add byte [ebx + 0x46], al
dec esi
cmp al, 0x36
aaa
add esp, 4
sub edx, 0xc769
pop edx
push edi
push edx
add esp, 4
add edi, 0x94fa
pop edi
cmp dword [ebp - 0xce0], 0
jne 0x4071ea
mov dword [ebp - 0x2fc], 0
jmp 0x407435
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push edx
xor edx, 0x144ef
xor edx, 0x174d1
sub edx, 0x385f
pop edx
push ecx
push ecx
add esp, 4
or ecx, 0xafea
sub ecx, 0x51c1
xor ecx, 0x396b
xor ecx, 0x138df
pop ecx
lea eax, [ebp - 0x1738]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push ecx
push edi
add esp, 4
sub ecx, 0x7a77
pop ecx
push edi
jmp 0x407266
or edi, 0x14875
call 0x40727a
add byte [edi], bh
aas
dec ebp
xor eax, 0x3a4c364f
add esp, 4
jmp 0x407283
pop edi
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push ecx
and ecx, 0x13341
and ecx, 0xabdc
add ecx, 0xb683
pop ecx
push ebx
push edi
add esp, 4
sub ebx, 0x7351
add ebx, 0x37cc
or ebx, 0x712c
sub ebx, 0x9181
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40732a
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
jmp 0x407384
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x407252
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x407252
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x40736e
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x407378
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x4073cd
push ebx
push edi
add esp, 4
call 0x40739e
add byte [edx], dh
cmp eax, 0x834e3732
les eax, [ecx + eax*4]
ret
push edx
sub edx, 0xe968
jmp 0x4073d9
pop edx
push edx
sub edx, 0x17761
add edx, 0xef02
jmp 0x4073ed
pop edx
push eax
sub eax, 0xbc90
jmp 0x4073fe
pop eax
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x40742b
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x4071f6
mov dword [ebp - 0x2fc], 0
push edx
xor edx, 0x365
call 0x40744a
add byte [ecx + 0x42], cl
cmp eax, 0x3a344135
cmp eax, 0xe804c483
or dword [eax], eax
add byte [eax], al
add byte [ecx + eax*2 + 0x46], al
inc esi
inc ecx
xor eax, 0xc4834946
add al, 0x5a
push ebx
xor ebx, 0x9339
pop ebx
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push edi
and edi, 0x1345e
jmp 0x407485
and edi, 0xbe56
pop edi
push edi
add edi, 0x1558e
and edi, 0xb3e8
sub edi, 0xb3d8
pop edi
push edx
sub edx, 0x4cec
pop edx
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x4074d8
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x4077c9
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x407500
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x4077c9
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x168c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 0
jne 0x407532
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x4077c9
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x407557
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x4077c9
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19c4], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19cc], edx
mov dword [ebp - 0x78c], 0
jmp 0x4075b1