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

Disassembly:
inc ebp
add esp, 4
and edi, 0x2aec
sub edi, 0x93b8
jmp 0x4034e9
pop edi
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x1ee0], ecx
push ebx
push edi
add esp, 4
or ebx, 0x9344
pop ebx
push edi
push esi
add esp, 4
call 0x403513
add byte [edx], bh
inc ebp
inc ecx
cmp eax, 0xc4834b4d
add al, 0x5f
push edi
push ecx
add esp, 4
jmp 0x403521
and edi, 0xdc96
pop edi
mov edx, dword [ebp - 0x1ee0]
mov dword [ebp - 0x1ee4], edx
lea eax, [ebp - 0x17a0]
push eax
call dword [ebp - 0x1ee4]
test eax, eax
jne 0x403586
push ebx
jmp 0x40354d
jmp 0x403554
call fcn.00403561
add byte [ecx*2 + 0x4939463e], dh
inc esi
push eax
push edi
add esp, 4
sub eax, 0x1749f
sub eax, 0x5ecd
sub eax, 0x52f4
add eax, 0x781a
pop eax
push edi
xor edi, 0x1637c
and edi, 0x33d2
xor edi, 0x17ed0
pop edi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1ee8], ecx
mov edx, dword [ebp - 0x1ee8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1eec], eax
mov ecx, dword [ebp - 0x1eec]
mov dword [ebp - 0x15f0], ecx
push ecx
push edx
add esp, 4
or ecx, 0x13fc
jmp 0x4035f1
pop ecx
push eax
push ebx
add esp, 4
add eax, 0x658a
add eax, 0x2bf8
add eax, 0x122c
jmp 0x403611
pop eax
cmp dword [ebp - 0x15f0], 0
jne 0x40362a
mov dword [ebp - 0x304], 0
jmp 0x4038d1
mov edx, dword [ebp - 0x15f0]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xd00], ecx
push eax
call 0x40364c
add byte [edx], bh
cmp dword [edx + 0x4d], ecx
inc ecx
dec ebx
cmp bh, byte [edi]
xor eax, 0xe804c483
or byte [eax], al
add byte [eax], al
add byte [esi + 0x48], al
cmp ecx, dword [edi + 0x36]
cmp edi, dword [eax]
add esp, 4
pop eax
push ecx
sub ecx, 0xd4cd
and ecx, 0x7894
pop ecx
cmp dword [ebp - 0xd00], 0
jne 0x403686
mov dword [ebp - 0x304], 0
jmp 0x4038d1
mov edx, dword [ebp - 0xd00]
mov dword [ebp - 0x510], edx
push ebx
push eax
add esp, 4
add ebx, 0x89f1
jmp 0x4036a5
pop ebx
push esi
push eax
add esp, 4
and esi, 0x13cf
sub esi, 0x1337c
xor esi, 0x18254
jmp 0x4036c3
pop esi
lea eax, [ebp - 0x17a0]
mov dword [ebp - 0xcfc], eax
mov ecx, dword [ebp - 0x510]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcf8], edx
xor eax, eax
mov word [ebp - 0x218], ax
xor ecx, ecx
mov word [ebp - 0x34], cx
push edx
push esi
add esp, 4
xor edx, 0x7d9c
or edx, 0x1f4c
pop edx
push edx
sub edx, 0xb510
pop edx
push edi
push edx
add esp, 4
jmp 0x403713
pop edi
push ecx
push ebx
add esp, 4
xor ecx, 0x10eb8
pop ecx
mov edx, dword [ebp - 0xcf8]
mov ax, word [edx]
mov word [ebp - 0x1086], ax
mov ecx, dword [ebp - 0xcf8]
add ecx, 2
mov dword [ebp - 0xcf8], ecx
mov dx, word [ebp - 0x1086]
mov word [ebp - 0x218], dx
mov eax, dword [ebp - 0xcfc]
mov cx, word [eax]
mov word [ebp - 0x1088], cx
mov edx, dword [ebp - 0xcfc]
add edx, 2
mov dword [ebp - 0xcfc], edx
mov ax, word [ebp - 0x1088]
mov word [ebp - 0x34], ax
push eax
push eax
add esp, 4
and eax, 0x4003
call 0x403791
add byte [eax], bh
push eax
inc edi
inc esi
inc edx
inc edx
aaa
xor edi, dword [edx]
add esp, 4
pop eax
push edi
push ebx
add esp, 4
add edi, 0xf840
pop edi
push ebx
jmp 0x4037a8
pop ebx
movzx ecx, word [ebp - 0x34]
test ecx, ecx
jne 0x4037c6
movzx edx, word [ebp - 0x218]
movzx eax, word [ebp - 0x34]
sub edx, eax
mov dword [ebp - 0x15f8], edx
jmp 0x403820
movzx ecx, word [ebp - 0x218]
movzx edx, word [ebp - 0x34]
cmp ecx, edx
je 0x4036ee
movzx eax, word [ebp - 0x218]
xor eax, 0x20
movzx ecx, word [ebp - 0x34]
cmp eax, ecx
je 0x4036ee
movzx edx, word [ebp - 0x218]
movzx eax, word [ebp - 0x34]
cmp edx, eax
jge 0x40380a
mov dword [ebp - 0x15f4], 0xffffffff
jmp 0x403814
mov dword [ebp - 0x15f4], 1
mov ecx, dword [ebp - 0x15f4]
mov dword [ebp - 0x15f8], ecx
cmp dword [ebp - 0x15f8], 0
jne 0x403869
push eax
push ebx
add esp, 4
or eax, 0xeb1d
pop eax
push eax
push eax
add esp, 4
xor eax, 0x13420
pop eax
push eax
or eax, 0x16ca6
and eax, 0x11767
add eax, 0x81b5
xor eax, 0x1e44
pop eax
mov edx, dword [ebp - 0x510]
mov dword [ebp - 0x304], edx
jmp 0x4038d1
push eax
push ebx
add esp, 4
jmp 0x403875
call 0x403885
add byte [esi], dh
dec ecx
dec esp
aaa
aas
dec ebp
dec eax
xor esi, dword [edx + edi]
add esp, 4
call 0x403897
add byte [ebx + 0x50], cl
aaa
dec ebx
inc ebx
inc eax
inc ecx
dec edx
add esp, 4
pop eax
mov eax, dword [ebp - 0x510]
mov ecx, dword [eax]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x510]
cmp edx, dword [ebp - 0xd00]
je 0x4038c7
mov eax, dword [ebp - 0x510]
cmp dword [eax + 0x30], 0
jne 0x403692
mov dword [ebp - 0x304], 0
push edx
push edi
add esp, 4
sub edx, 0xe67d
and edx, 0x2242
pop edx
push ecx
push edi
add esp, 4
call 0x4038f7
add byte [edx], bh
inc ebp
dec eax
aas
dec edx
inc esi
add esp, 4
pop ecx
push esi
and esi, 0x6589
pop esi
mov ecx, dword [ebp - 0x304]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x320], edx
push ebx
push edi
add esp, 4
call 0x403923
add byte [ebx + 0x3a], cl
dec eax
dec ecx
xor edi, dword [edi]
add esp, 4
pop ebx
push ecx
push ecx
add esp, 4
jmp 0x403933
call 0x403940
add byte [0x443c3949], dh
inc ecx
dec edx
add esp, 4
pop ecx
mov dword [ebp - 0x764], 0
mov eax, dword [ebp - 0x320]
mov dword [ebp - 0x15fc], eax
cmp dword [ebp - 0x15fc], 0
jne 0x403974
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x514], ecx
jmp 0x403c65
mov edx, dword [ebp - 0x15fc]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1600], eax
jne 0x40399c
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x514], ecx
jmp 0x403c65
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1600]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1604], edx
cmp dword [ebp - 0x1604], 0
jne 0x4039ce
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x514], eax
jmp 0x403c65
mov ecx, dword [ebp - 0x320]
add ecx, dword [ebp - 0x1604]
mov dword [ebp - 0x758], ecx
jne 0x4039f3
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x514], edx
jmp 0x403c65
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1ef0], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1ef4], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1ef8], edx
mov dword [ebp - 0x75c], 0
jmp 0x403a4d
mov eax, dword [ebp - 0x75c]
add eax, 1
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x75c]
cmp edx, dword [ecx + 0x18]
jae 0x403c59
mov eax, dword [ebp - 0x75c]
mov ecx, dword [ebp - 0x1ef0]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x760], edx
mov eax, dword [ebp - 0x75c]
mov ecx, dword [ebp - 0x1ef4]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1ef8]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1efc], ecx
mov dword [ebp - 0x198], 0
jmp 0x403abd
mov edx, dword [ebp - 0x198]
add edx, 1
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
test ecx, ecx
je 0x403b6f
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x868]
test eax, eax
je 0x403b6f
push eax
and eax, 0x109b5
pop eax
push ecx
push edx
add esp, 4
and ecx, 0x14210
call 0x403b0c
add byte [eax], al
add byte [esi], bh
inc ecx
xor al, byte [ebp + 0x3f]
cmp dword [eax + ecx*2 + 0x50], eax
add esp, 4
jmp 0x403b15
add ecx, 0x6605
pop ecx
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x868]
cmp edx, ecx
je 0x403b61
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x198]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x198]
movsx edx, byte [ebp + ecx - 0x868]
cmp eax, edx
jne 0x403b68
jmp 0x403aae
jmp 0x403b6f
push edx
xor edx, 0xa3c8
pop edx
push esi
push ecx
add esp, 4
sub esi, 0x110b6
sub esi, 0xa7f
pop esi
push esi
push ebx
add esp, 4
xor esi, 0x4acc
jmp 0x403b9a
add esi, 0x172a9
pop esi
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x198]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x198]
movsx eax, byte [ebp + edx - 0x868]
cmp ecx, eax
jne 0x403bce
mov dword [ebp - 0xd04], 0
jmp 0x403c3d
push ebx
add ebx, 0x138e5
or ebx, 0xff04
add ebx, 0x16a28
or ebx, 0x1bd1
pop ebx
push esi
push edx
add esp, 4
or esi, 0x11f5d
or esi, 0x6e91
or esi, 0x11a73
pop esi
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x198]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x198]
movsx ecx, byte [ebp + eax - 0x868]
or ecx, 0x20
cmp edx, ecx
jge 0x403c33
mov dword [ebp - 0xd04], 0xffffffff
jmp 0x403c3d
mov dword [ebp - 0xd04], 1
cmp dword [ebp - 0xd04], 0
jne 0x403c54
mov edx, dword [ebp - 0x1efc]
mov dword [ebp - 0x514], edx
jmp 0x403c65
jmp 0x403a3e
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0xaf0], ecx
push 4
lea edx, [ebp - 0xc40]
push edx
lea eax, [ebp - 0xc70]
push eax
push 0
call dword [ebp - 0xaf0]
mov ecx, 0x4d
mov word [ebp - 0x20a8], cx
mov edx, 0x42
mov word [ebp - 0x20a6], dx
mov eax, 0x53
mov word [ebp - 0x20a4], ax
mov ecx, 0x65
mov word [ebp - 0x20a2], cx
mov edx, 0x72
mov word [ebp - 0x20a0], dx
mov eax, 0x76
mov word [ebp - 0x209e], ax
mov ecx, 0x69
mov word [ebp - 0x209c], cx
mov edx, 0x63
mov word [ebp - 0x209a], dx
mov eax, 0x65
mov word [ebp - 0x2098], ax
mov ecx, 0x2e
mov word [ebp - 0x2096], cx
mov edx, 0x65
mov word [ebp - 0x2094], dx
mov eax, 0x78
mov word [ebp - 0x2092], ax
mov ecx, 0x65
mov word [ebp - 0x2090], cx
xor edx, edx
mov word [ebp - 0x208e], dx
mov dword [ebp - 0x10ac], 1
push esi
and esi, 0x109fe
and esi, 0xd64c
or esi, 0x2e8a
call 0x403d58
add byte [esi], dh
xor eax, dword [ecx + 0x34]
inc ebp
dec ebp
add esp, 4
pop esi
push edx
and edx, 0x2409
xor edx, 0x6007
pop edx
imul eax, dword [ebp - 0x10ac], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10ac], 0x138
sub eax, ecx
xor eax, 0xabe912
imul eax, dword [ebp - 0x10ac]
imul edx, dword [ebp - 0x10ac], 0x138
sub eax, edx
mov dword [ebp - 0x10b0], eax
push esi
sub esi, 0x9ef5
add esi, 0x11b6d
pop esi
push eax
call 0x403dbf
add byte [eax], bh
inc ebx
xor al, 0x4f
inc edi
xor eax, 0x4c48350
add eax, 0x10e80
add eax, 0xdb8d
or eax, 0xc6d2
pop eax
mov dword [ebp - 0x10], 1
push eax
push eax
add esp, 4
jmp 0x403de7
sub eax, 0x1472e
add eax, 0xa316
or eax, 0x17601
pop eax
push edi
sub edi, 0xd27a
or edi, 0x1230f
xor edi, 0xd5e3
pop edi
imul eax, dword [ebp - 0x10], 0x138
add eax, 0x44f3644b
imul ecx, dword [ebp - 0x10], 0x138
sub eax, ecx
xor eax, 0x153c
imul eax, dword [ebp - 0x10]
imul edx, dword [ebp - 0x10], 0x138
sub eax, edx
mov dword [ebp - 0x14], eax
push edx
jmp 0x403e3e
pop edx
push esi
push ecx
add esp, 4
call 0x403e52
add byte [eax], bh
xor eax, 0x4f453d37
inc ecx
cmp al, 0x83
les eax, [ecx + eax*4]
invalid