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

Disassembly:
add esp, 4
and ebx, 0xd148
pop ebx
cmp dword [ebp - 0xca4], 0
jne 0x40576c
mov dword [ebp - 0x750], 0
jmp 0x4059cc
mov ecx, dword [ebp - 0xca4]
mov dword [ebp - 0x508], ecx
push ebx
xor ebx, 0x3e61
call 0x40578c
add byte [esp + eax*2 + 0x40], al
inc esi
dec edx
dec eax
inc ecx
add esp, 4
sub ebx, 0x9e88
add ebx, 0x65c2
pop ebx
push ecx
xor ecx, 0x10fa6
add ecx, 0x85fc
pop ecx
lea edx, [ebp - 0x1754]
mov dword [ebp - 0xca0], edx
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xc9c], ecx
xor edx, edx
mov word [ebp - 0x214], dx
xor eax, eax
mov word [ebp - 0x110], ax
push eax
push edi
add esp, 4
xor eax, 0x13c16
sub eax, 0x5f5c
or eax, 0x1373e
pop eax
push edi
sub edi, 0x865c
add edi, 0x7314
sub edi, 0x4a9
and edi, 0x13771
pop edi
mov ecx, dword [ebp - 0xc9c]
mov dx, word [ecx]
mov word [ebp - 0x1036], dx
mov eax, dword [ebp - 0xc9c]
add eax, 2
mov dword [ebp - 0xc9c], eax
mov cx, word [ebp - 0x1036]
mov word [ebp - 0x214], cx
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0xca0]
mov ax, word [edx]
mov word [ebp - 0x1038], ax
mov ecx, dword [ebp - 0xca0]
add ecx, 2
mov dword [ebp - 0xca0], ecx
mov dx, word [ebp - 0x1038]
mov word [ebp - 0x110], dx
push eax
push edx
add esp, 4
or eax, 0x95c6
pop eax
push edi
push eax
add esp, 4
or edi, 0x10e29
xor edi, 0xcb55
add edi, 0x68e8
pop edi
push esi
or esi, 0x7f63
add esi, 0x149a
pop esi
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x4058b8
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
sub ecx, edx
mov dword [ebp - 0x15ec], ecx
jmp 0x40591b
movzx eax, word [ebp - 0x214]
movzx ecx, word [ebp - 0x110]
cmp eax, ecx
je 0x4057d7
movzx edx, word [ebp - 0x214]
xor edx, 0x20
movzx eax, word [ebp - 0x110]
cmp edx, eax
je 0x4057d7
movzx ecx, word [ebp - 0x214]
movzx edx, word [ebp - 0x110]
cmp ecx, edx
jge 0x405905
mov dword [ebp - 0x15e8], 0xffffffff
jmp 0x40590f
mov dword [ebp - 0x15e8], 1
mov eax, dword [ebp - 0x15e8]
mov dword [ebp - 0x15ec], eax
cmp dword [ebp - 0x15ec], 0
jne 0x405964
push edx
push edx
add esp, 4
jmp 0x405930
jmp 0x405937
or edx, 0xa4b9
or edx, 0x1855c
pop edx
push eax
push ebx
add esp, 4
and eax, 0xb1d
xor eax, 0xff54
pop eax
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x750], ecx
jmp 0x4059cc
push edx
push edi
add esp, 4
and edx, 0xaee3
xor edx, 0x83b8
add edx, 0xe791
xor edx, 0x1166
pop edx
push edi
add edi, 0xd410
xor edi, 0x12c71
or edi, 0xab3b
pop edi
mov edx, dword [ebp - 0x508]
mov eax, dword [edx]
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x508]
cmp ecx, dword [ebp - 0xca4]
je 0x4059c2
mov edx, dword [ebp - 0x508]
cmp dword [edx + 0x30], 0
jne 0x405778
mov dword [ebp - 0x750], 0
push ebx
jmp 0x4059d2
xor ebx, 0xab3
xor ebx, 0x1286f
add ebx, 0x11f5
pop ebx
push edx
sub edx, 0xc0ed
add edx, 0xdfde
pop edx
push edx
push esi
add esp, 4
jmp 0x4059fd
pop edx
cmp dword [ebp - 0x750], 0
jne 0x405a48
push edx
xor edx, 0x3ad2
sub edx, 0x9262
pop edx
push esi
push edi
add esp, 4
xor esi, 0x1793d
xor esi, 0xb8ef
pop esi
push edi
push edi
add esp, 4
xor edi, 0x4ced
xor edi, 0x156e
pop edi
mov dword [ebp - 0x79c], 0
jmp 0x40656f
push ebx
call 0x405a58
add byte [ecx], bh
dec ebp
inc ebx
inc ecx
dec eax
dec eax
xor cl, byte [ebp + 0x40]
add esp, 4
xor ebx, 0x17472
sub ebx, 0x527f
pop ebx
push ebx
push edx
add esp, 4
and ebx, 0x86a5
add ebx, 0x14b8a
pop ebx
mov eax, dword [ebp - 0x750]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x760], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f0], edx
cmp dword [ebp - 0x15f0], 0
jne 0x405ab9
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x405daa
mov ecx, dword [ebp - 0x15f0]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15f4], edx
jne 0x405ae1
mov eax, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], eax
jmp 0x405daa
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15f4]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x15f8], ecx
cmp dword [ebp - 0x15f8], 0
jne 0x405b13
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
jmp 0x405daa
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x15f8]
mov dword [ebp - 0x754], eax
jne 0x405b38
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], ecx
jmp 0x405daa
mov edx, dword [ebp - 0x754]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x19b4], eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x19b8], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19bc], ecx
mov dword [ebp - 0x758], 0
jmp 0x405b92
mov edx, dword [ebp - 0x758]
add edx, 1
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x754]
mov ecx, dword [ebp - 0x758]
cmp ecx, dword [eax + 0x18]
jae 0x405d9e
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19b4]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x19b8]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19bc]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19c0], eax
mov dword [ebp - 0x198], 0
jmp 0x405c02
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
test eax, eax
je 0x405cb4
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
test edx, edx
je 0x405cb4
push eax
jmp 0x405c39
sub eax, 0x128b4
pop eax
push esi
push ecx
add esp, 4
and esi, 0x9e4e
call 0x405c57
add byte [edi], dh
dec edi
cmp eax, 0x834b4849
les eax, [ecx + eax*4]
out dx, al
xchg esi, eax
cmp dword [ecx], eax
add byte [esi - 0x75], bl
test dword [eax + edi*8 - 0x7afc0001], esp
push 0xffffffe
mov esi, 0x68958b08
invalid
push edx
and edx, 0xcb09
sub edx, 0xc05
sub edx, 0x12f77
sub edx, 0xc1b6
pop edx
push ecx
push edx
add esp, 4
sub ecx, 0x6f94
sub ecx, 0x98d3
or ecx, 0x13060
pop ecx
mov edx, dword [ebp - 0x75c]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x894]
cmp eax, edx
jne 0x405d13
mov dword [ebp - 0xca8], 0
jmp 0x405d82
push ecx
push eax
add esp, 4
call 0x405d25
add byte [eax + 0x4c], cl
dec edx
dec ebx
dec ebp
inc ecx
inc esi
add esp, 4
pop ecx
push ebx
xor ebx, 0xf932
xor ebx, 0x12e26
sub ebx, 0x15607
pop ebx
push edi
and edi, 0x7b1c
pop edi
mov eax, dword [ebp - 0x75c]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x894]
or eax, 0x20
cmp ecx, eax
jge 0x405d78
mov dword [ebp - 0xca8], 0xffffffff
jmp 0x405d82
mov dword [ebp - 0xca8], 1
cmp dword [ebp - 0xca8], 0
jne 0x405d99
mov ecx, dword [ebp - 0x19c0]
mov dword [ebp - 0x3f4], ecx
jmp 0x405daa
jmp 0x405b83
mov edx, dword [ebp - 0x760]
mov dword [ebp - 0x3f4], edx
cmp dword [ebp - 0x3f4], 0
je 0x405e85
push edx
xor edx, 0xc135
and edx, 0xf49a
xor edx, 0x13486
or edx, 0x2495
pop edx
push edi
push ebx
add esp, 4
call 0x405de5
add byte [esi], dh
inc ebx
dec esi
xor ecx, dword [edx + 0x3d]
push eax
inc eax
xor al, byte [ebx - 0x74a0fb3c]
test dword [esp + edi*8], ecx
invalid
push edx
or edx, 0x8009
pop edx
push edi
push eax
add esp, 4
xor edi, 0x1703a
and edi, 0x10cda
pop edi
push ebx
xor ebx, 0x1670e
call 0x40659d
add byte [ebx + 0x4b], cl
xor eax, 0x4b3c3c39
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x3e8]
add ecx, 0xe
mov dword [ebp - 0x1a2c], ecx
push eax
xor eax, 0x6be
xor eax, 0x17195
add eax, 0x13f05
add eax, 0x14633
pop eax
push eax
push edi
add esp, 4
and eax, 0x9538
and eax, 0xcea4
sub eax, 0x10f65
pop eax
cmp dword [ebp - 0x3e8], 0
je 0x4065f4
cmp dword [ebp - 0xab8], 0
jne 0x40663a
push edx
push eax
add esp, 4
and edx, 0xe007
xor edx, 0x2c1
and edx, 0x15527
pop edx
push ecx
or ecx, 0xfb7
and ecx, 0x173d7
add ecx, 0xd5eb
sub ecx, 0x89af
pop ecx
mov edx, dword [ebp - 0x79c]
mov dword [ebp - 0x19e0], edx
push 0
call dword [ebp - 0x19e0]
mov dword [ebp - 0x20f8], 0xa
push ebx
add ebx, 0x12841
and ebx, 0x18254
pop ebx
push ecx
call 0x406660
add byte [ebx], bh
xor eax, dword [eax + 0x41]
xor al, 0x4b
dec esi
add esp, 4
xor ecx, 0x1720d
xor ecx, 0x16a5d
and ecx, 0x80b6
pop ecx
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 esi
push edx
add esp, 4
or esi, 0x1596
add esi, 0x14fc6
and esi, 0x24c9
pop esi
push ebx
jmp 0x4066c0
or ebx, 0x14682
or ebx, 0x16e5b
jmp 0x4066d2
pop ebx
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 esi
push edx
add esp, 4
jmp 0x406749
call 0x406756
add byte [eax + 0x35], cl
inc ebx
dec esi
aas
inc ecx
xor al, 0x83
les eax, [esi + ebx*2]
push edx
add edx, 0x9d58
sub edx, 0x14542
add edx, 0x13a6f
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x19e4], eax
mov ecx, dword [ebp - 0x19e4]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x19e8], edx
mov eax, dword [ebp - 0x19e8]
mov dword [ebp - 0x1614], eax
push ebx
push edi
add esp, 4
call 0x4067a9
add byte [0x44463c44], bh
cmp eax, 0x833e424c
les eax, [ebx + ebp*8]
pop es
dec ebp
inc eax
cmp dword [esi], edi
inc ebx
inc esp
cmp ebx, dword [ebx + 0x57]
push edx
add esp, 4
jmp 0x4067c0
xor edi, 0xefd5
pop edi
cmp dword [ebp - 0x1614], 0
jne 0x4067df
mov dword [ebp - 0x2fc], 0
jmp 0x406a86
mov ecx, dword [ebp - 0x1614]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcc4], eax
push esi
push ecx
add esp, 4
sub esi, 0x13d04
and esi, 0x1dbc
pop esi
push ecx
push esi
add esp, 4
and ecx, 0x1767
jmp 0x406816
add ecx, 0x17332
add ecx, 0xeb41
pop ecx
cmp dword [ebp - 0xcc4], 0
jne 0x40683b
mov dword [ebp - 0x2fc], 0
jmp 0x406a86
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0x514], ecx
push edi
push eax
add esp, 4
or edi, 0x14047
and edi, 0x3989
pop edi
push esi
call 0x406867
add byte [eax], bh
xor al, 0x4d
inc ebx
inc esi
cmp eax, 0x4c48342
pop esi
push ebx
and ebx, 0x11496
add ebx, 0x3fa5
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 eax
xor eax, 0xa68c
sub eax, 0x112e2
or eax, 0x13353
and eax, 0xb027
pop eax
push esi
jmp 0x4068c6
add esi, 0x9867
pop esi
push ecx
add ecx, 0x6402
pop ecx
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 ecx
push ecx
add esp, 4
call 0x406940
add byte [edi], dh
aas
inc ebp
inc ebp
dec edi
xor al, 0x33
inc edi
inc edi
add esp, 4
pop ecx
push edi
push esi
add esp, 4
xor edi, 0x1522c
pop edi
push ecx
push ecx
add esp, 4
jmp 0x40695d
pop ecx
movzx eax, word [ebp - 0x38]
test eax, eax
jne 0x40697b
movzx ecx, word [ebp - 0x21c]
invalid
mov bh, 0x55