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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x5d0
mov esi, dword [esp + 0x5e8]
mov ebp, dword [esp + 0x5e4]
mov eax, dword [ebp + 0x918]
lea eax, [eax + eax + 2]
push 4
push 0x3000
push eax
push 0
call dword [ebp + 0x3c]
mov edi, eax
mov eax, fcn.00401309
mov ecx, 0x4068fb
sub ecx, eax
mov dword [esp + 0x108], ecx
mov ecx, 0x406a9a
sub ecx, eax
mov dword [esp + 0x104], ecx
mov ecx, 0x406aa8
sub ecx, eax
mov dword [esp + 0x100], ecx
mov ecx, 0x406ab8
sub ecx, eax
mov dword [esp + 0xfc], ecx
mov ecx, 0x406acf
sub ecx, eax
mov dword [esp + 0xf8], ecx
mov ecx, 0x406c1a
sub ecx, eax
mov dword [esp + 0xf4], ecx
mov ecx, 0x4068ec
sub ecx, eax
mov dword [esp + 0xf0], ecx
mov ecx, 0x406c1a
sub ecx, eax
mov dword [esp + 0xec], ecx
mov ecx, 0x406c1f
sub ecx, eax
mov dword [esp + 0xe8], ecx
mov ecx, 0x406cd3
sub ecx, eax
mov dword [esp + 0xe4], ecx
mov ecx, 0x406cd3
sub ecx, eax
mov dword [esp + 0xe0], ecx
mov ecx, 0x406cd8
sub ecx, eax
mov dword [esp + 0xdc], ecx
mov ecx, 0x406a9a
sub ecx, eax
mov dword [esp + 0xd8], ecx
mov ecx, 0x406aa8
sub ecx, eax
mov dword [esp + 0xd4], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0xd0], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0xcc], ecx
mov ecx, 0x406df0
sub ecx, eax
mov dword [esp + 0xc8], ecx
mov ecx, 0x406f4b
sub ecx, eax
mov dword [esp + 0xc4], ecx
mov ecx, 0x406f59
sub ecx, eax
mov dword [esp + 0xc0], ecx
mov ecx, 0x406f69
sub ecx, eax
mov dword [esp + 0xbc], ecx
mov ecx, 0x406fce
sub ecx, eax
mov dword [esp + 0xb8], ecx
mov ecx, 0x407045
sub ecx, eax
mov dword [esp + 0xb4], ecx
mov ecx, 0x407061
sub ecx, eax
mov dword [esp + 0xb0], ecx
mov ecx, 0x406c1a
sub ecx, eax
mov dword [esp + 0xac], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0xa8], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0xa4], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0xa0], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x9c], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x98], ecx
mov ecx, 0x407099
sub ecx, eax
mov dword [esp + 0x94], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x90], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x8c], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x88], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x84], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x80], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x7c], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x78], ecx
mov ecx, 0x4070b1
sub ecx, eax
mov dword [esp + 0x74], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x70], ecx
mov ecx, 0x4070b9
sub ecx, eax
mov dword [esp + 0x6c], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x68], ecx
mov ecx, 0x4070c1
sub ecx, eax
mov dword [esp + 0x64], ecx
mov ecx, 0x4070d4
sub ecx, eax
mov dword [esp + 0x60], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x5c], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x58], ecx
mov ecx, 0x406de8
sub ecx, eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x10c], edi
lea eax, [ebp + 0x5e0]
mov dword [esp + 0x50], eax
lea eax, [ebp + 0x6c4]
mov dword [esp + 0x4c], eax
lea eax, [ebp + 0x694]
mov dword [esp + 0x48], eax
lea eax, [ebp + 0x674]
mov dword [esp + 0x44], eax
lea eax, [esi + 0x528]
mov dword [esp + 0x40], eax
lea eax, [ebp + 0x5e8]
mov dword [esp + 0x3c], eax
lea eax, [ebp + 0x684]
mov dword [esp + 0x38], eax
mov eax, 0xf005dc2b
xor ebx, ebx
cmp eax, 0xff4372d7
jg 0x4050b1
cmp eax, 0xd48fe28f
jg 0x405103
cmp eax, 0xbb2467c9
jle 0x405174
cmp eax, 0xbb2467ca
je 0x405687
cmp eax, 0xcabf2148
jne 0x40576c
mov eax, 0xbb2467ca
jmp 0x40507b
cmp eax, 0x3bff26da
jg 0x40513e
cmp eax, 0x2904fc74
jg 0x4055a3
cmp eax, 0xff4372d8
je 0x405691
cmp eax, 0x19913d60
jne 0x40507b
mov eax, dword [ebp + 0x918]
add eax, eax
add eax, 2
push eax
push ebx
push edi
call fcn.00407f3e
add esp, 0xc
push 0xc000
push ebx
push edi
call dword [ebp + 0x40]
mov eax, 0xc47712aa
jmp 0x40507b
cmp eax, 0xfd6d5856
jg 0x4055de
cmp eax, 0xd48fe290
je 0x4056c5
cmp eax, 0xf005dc2b
jne 0x40507b
cmp dword [esp + 0x10c], 0
mov eax, 0xa630e8a2
mov ecx, 0xc47712aa
cmove eax, ecx
jmp 0x40507b
cmp eax, 0x740be13c
jg 0x40561a
cmp eax, 0x3bff26db
je 0x4056cf
cmp eax, 0x3d52e58f
jne 0x40507b
mov eax, dword [esp]
mov ecx, dword [eax]
push 2
push eax
call dword [ecx + 0x14]
mov eax, 0xcabf2148
jmp 0x40507b
cmp eax, 0x8fc20393
je 0x4056f8
cmp eax, 0xa630e8a2
jne 0x40507b
mov eax, dword [esp + 0x5e8]
mov eax, dword [eax + 0x524]
add eax, eax
push eax
push edi
xor esi, esi
dec esi
push esi
push dword [esp + 0x4c]
push ebx
push ebx
call dword [ebp + 0x50]
lea eax, [esp + 0x128]
mov dword [esp + 4], eax
call fcn.00401309
add eax, dword [esp + 0x108]
mov ecx, dword [esp + 4]
mov dword [ecx], eax
call fcn.00401309
add eax, dword [esp + 0x104]
mov ecx, dword [esp + 4]
mov dword [ecx + 4], eax
call fcn.00401309
add eax, dword [esp + 0x100]
mov ecx, dword [esp + 4]
mov dword [ecx + 8], eax
call fcn.00401309
add eax, dword [esp + 0xfc]
mov ecx, dword [esp + 4]
mov dword [ecx + 0xc], eax
call fcn.00401309
add eax, dword [esp + 0xf8]
mov ecx, dword [esp + 4]
mov dword [ecx + 0x10], eax
call fcn.00401309
add eax, dword [esp + 0xf4]
mov ecx, dword [esp + 4]
mov dword [ecx + 0x14], eax
call fcn.00401309
add eax, dword [esp + 0xf0]
mov ecx, dword [esp + 4]
mov dword [ecx + 0x18], eax
call fcn.00401309
add eax, dword [esp + 0xec]
mov ecx, dword [esp + 4]
mov dword [ecx + 0x1c], eax
call fcn.00401309
add eax, dword [esp + 0xe8]
mov ecx, dword [esp + 4]
mov dword [ecx + 0x20], eax
call fcn.00401309
add eax, dword [esp + 0xe4]
mov ecx, dword [esp + 4]
mov dword [ecx + 0x24], eax
call fcn.00401309
add eax, dword [esp + 0xe0]
mov ecx, dword [esp + 4]
mov dword [ecx + 0x28], eax
mov dword [esp + 8], ebx
mov dword [esp + 0x30], ebp
lea eax, [esp + 0x114]
mov dword [esp + 0xc], eax
call fcn.00401309
add eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xc]
mov dword [ecx], eax
call fcn.00401309
add eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], eax
call fcn.00401309
add eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], eax
call fcn.00401309
add eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0xc], eax
call fcn.00401309
add eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x10], eax
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebp
lea eax, [esp + 0x154]
mov dword [esp + 0x18], eax
call fcn.00401309
add eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
call fcn.00401309
add eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], eax
call fcn.00401309
add eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 8], eax
call fcn.00401309
add eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0xc], eax
call fcn.00401309
add eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
call fcn.00401309
add eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x14], eax
call fcn.00401309
add eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x18], eax
call fcn.00401309
add eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x1c], eax
call fcn.00401309
add eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x20], eax
call fcn.00401309
add eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x24], eax
call fcn.00401309
add eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x28], eax
call fcn.00401309
add eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x2c], eax
call fcn.00401309
add eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x30], eax
call fcn.00401309
add eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x34], eax
call fcn.00401309
add eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x38], eax
call fcn.00401309
add eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x3c], eax
call fcn.00401309
add eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x40], eax
call fcn.00401309
add eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x44], eax
call fcn.00401309
add eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x48], eax
call fcn.00401309
add eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x4c], eax
call fcn.00401309
add eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x50], eax
call fcn.00401309
add eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x54], eax
call fcn.00401309
add eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x58], eax
call fcn.00401309
add eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x5c], eax
call fcn.00401309
add eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x60], eax
call fcn.00401309
add eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x64], eax
call fcn.00401309
add eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x68], eax
call fcn.00401309
add eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x6c], eax
call fcn.00401309
add eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x70], eax
call fcn.00401309
add eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x74], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
push 0x100
lea esi, [esp + 0x3d2]
push esi
xor eax, eax
dec eax
push eax
push dword [esp + 0x48]
push ebx
push ebx
call dword [ebp + 0x50]
lea eax, [esp + 0x1c]
push eax
push esi
call dword [ebp + 0x94]
mov dword [esp + 0x110], eax
mov eax, 0xf105410c
cmp eax, 0xad1e6648
je 0x405589
cmp eax, 0x6a9d6286
je 0x405714
cmp eax, 0xf105410c
jne 0x405559
cmp dword [esp + 0x110], 0
mov eax, 0x6a9d6286
mov ecx, 0xad1e6648
cmove eax, ecx
jmp 0x405559
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
lea edx, [esp + 0x20]
push edx
push dword [esp + 0x3c]
push eax
call dword [ecx + 0x18]
mov eax, 0x6a9d6286
jmp 0x405559
cmp eax, 0x2904fc75
je 0x405730
cmp eax, 0x2f5d9269
jne 0x40507b
mov eax, dword [esp]
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push dword [esp + 0x50]
push eax
call dword [ecx]
test eax, eax
mov eax, 0x8fc20393
mov ecx, 0xfd6d5857
cmove eax, ecx
jmp 0x40507b
cmp eax, 0xfd6d5857
je 0x405744
cmp eax, 0xfdd8915e
jne 0x40507b
mov eax, dword [esp]
mov dword [esp + 0x24], eax
mov ecx, dword [eax]
lea edx, [esp + 4]
push edx
push eax
call dword [ecx + 0xc]
test eax, eax
mov eax, 0xd48fe290
mov ecx, 0x7e64af2e
cmove eax, ecx
jmp 0x40507b
cmp eax, 0x740be13d
je 0x405762
cmp eax, 0x7e64af2e
jne 0x40507b
push 0x100
lea esi, [esp + 0x1d0]
push esi
push 0xffffffffffffffff
push dword [esp + 0x5c]
push ebx
push ebx
call dword [ebp + 0x50]
push esi
call dword [ebp + 0x8c]
mov esi, ebp
mov ebp, edi
mov edi, eax
mov eax, dword [esp]
mov ecx, dword [eax]
push 2
push edi
push eax
call dword [ecx + 0x20]
mov ebx, eax
push edi
mov edi, ebp
mov ebp, esi
call dword [esi + 0x90]
test ebx, ebx
mov ebx, 0
mov eax, 0xbb2467ca
mov ecx, 0xff4372d8
cmove eax, ecx
jmp 0x40507b
mov eax, 0xd48fe290
jmp 0x40507b
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
sub esp, 0x28
xorps xmm0, xmm0
movups xmmword [esp + 0x18], xmm0
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [ecx + 0x14]
test eax, eax
mov eax, 0xcabf2148
mov ecx, 0x3d52e58f
cmove eax, ecx
jmp 0x40507b
mov eax, 0x2904fc75
jmp 0x40507b
mov eax, esp
push eax
push dword [esp + 0x4c]
push 3
push 0
push dword [esp + 0x54]
call dword [ebp + 0xc8]
test eax, eax
mov eax, 0x740be13d
mov ecx, 0x2f5d9269
cmove eax, ecx
jmp 0x40507b
mov eax, dword [esp]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov eax, dword [esp]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x740be13d
jmp 0x40507b
push ebx
push ebx
call dword [ebp + 0xc4]
test eax, eax
mov eax, 0x19913d60
mov ecx, 0x3bff26db
cmove eax, ecx
jmp 0x40507b
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, 0x8fc20393
jmp 0x40507b
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
mov eax, 0x2904fc75
mov ecx, 0xfdd8915e
cmove eax, ecx
jmp 0x40507b
mov eax, 0x19913d60
jmp 0x40507b
cmp eax, 0xc47712aa
jne 0x40507b
add esp, 0x5d0
pop esi
pop edi
pop ebx
pop ebp
ret