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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x2a0
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x18]
mov dword [eax], 0
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
mov eax, dword [edx]
mov dword [esp + 0x3c], eax
lea eax, [edx + 0x40c]
mov dword [esp + 0x10], eax
lea eax, [edx + 0x30c]
mov dword [esp + 0x2c], eax
add edx, 0x20c
mov dword [esp + 0x30], edx
lea eax, [ecx + 0x18]
mov dword [esp + 0x20], eax
lea eax, [ecx + 0x1c]
mov dword [esp + 0xc], eax
mov eax, 0xbb883b79
xor edi, edi
cmp eax, 0xf545e259
jg 0x4043ee
cmp eax, 0xb461e597
jg 0x40443a
cmp eax, 0x9b5da1c5
jg 0x4044ee
cmp eax, 0x90acd3d6
jg 0x404602
cmp eax, 0x80b47ca9
je 0x4047db
cmp eax, 0x80e0068f
je 0x4047f4
cmp eax, 0x888c3055
jne 0x404397
push dword [esp + 0x28]
mov eax, dword [ebp + 8]
call dword [eax + 0x90]
jmp 0x4047d1
cmp eax, 0x3ad423cf
jg 0x40448c
cmp eax, 0x2ac502f6
jg 0x404541
cmp eax, 0xb9690a0
jle 0x40465c
cmp eax, 0xb9690a1
je 0x404801
cmp eax, 0x18f731a8
je 0x40481f
cmp eax, 0x1b57596f
jne 0x404397
mov eax, 0x378c7bef
jmp 0x404397
cmp eax, 0xc2333d1f
jg 0x40458c
cmp eax, 0xbd13c602
jle 0x40469a
cmp eax, 0xbd13c603
je 0x40485b
cmp eax, 0xbd57459c
je 0x404887
cmp eax, 0xbfd32d97
jne 0x404397
mov eax, dword [esp + 0x10]
cmp byte [eax], 0
mov eax, 0x97eb1787
mov ecx, 0x52367161
cmove eax, ecx
xor edi, edi
jmp 0x404397
cmp eax, 0x5f30bddf
jg 0x4045c2
cmp eax, 0x4a1f5d08
jle 0x4046c9
cmp eax, 0x4a1f5d09
je 0x404898
cmp eax, 0x52367161
je 0x4048a2
cmp eax, 0x5c8a4352
jne 0x404397
push 0x100
lea ebx, [esp + 0x9e]
push ebx
push 0xffffffffffffffff
push dword [esp + 0x1c]
xor eax, eax
push eax
push eax
mov esi, dword [ebp + 8]
call dword [esi + 0x50]
lea eax, [esp + 8]
push eax
push ebx
call dword [esi + 0x70]
jmp 0x40457e
cmp eax, 0xa54170ef
jle 0x4046f6
cmp eax, 0xa54170f0
je 0x4048b9
cmp eax, 0xad5a6d70
je 0x4048c3
cmp eax, 0xae4e4cee
jne 0x404397
mov word [esp + 0x58], 0x2008
push dword [esp + 8]
xor esi, esi
push esi
push 8
mov eax, dword [ebp + 8]
call dword [eax + 0x78]
mov dword [esp + 0x60], eax
mov dword [esp], esi
mov eax, 0x2ac502f7
jmp 0x404397
cmp eax, 0x2ec1bbe6
jle 0x404733
cmp eax, 0x2ec1bbe7
je 0x4047d1
cmp eax, 0x378c7bef
je 0x40499c
cmp eax, 0x39ab7c23
jne 0x404397
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x70]
call dword [eax + 0x6c]
lea ecx, [esp + 8]
push ecx
push eax
call esi
mov dword [esp + 0x14], eax
mov eax, 0xae4e4cee
jmp 0x404397
cmp eax, 0xcced4902
jle 0x40475f
cmp eax, 0xcced4903
je 0x4048ec
cmp eax, 0xd21e24f3
je 0x4048fe
cmp eax, 0xdc7522cb
jne 0x404397
mov eax, 0x62d82728
jmp 0x404397
cmp eax, 0x6c5c4bf4
jle 0x4047b1
cmp eax, 0x6c5c4bf5
je 0x404920
cmp eax, 0x75510d07
je 0x40492d
cmp eax, 0x75b0f6e4
jne 0x404397
push edi
mov eax, dword [ebp + 8]
call dword [eax + 0x80]
mov eax, 0x4a1f5d09
jmp 0x404397
cmp eax, 0x97eb1787
je 0x404937
cmp eax, 0x98aadcbc
jne 0x404ae3
mov eax, dword [esp]
mov ecx, dword [esp + 0x14]
push dword [ecx + eax*4]
mov esi, dword [ebp + 8]
call dword [esi + 0x8c]
mov dword [esp + 0x70], eax
mov word [esp + 0x68], 8
lea eax, [esp + 0x68]
push eax
lea eax, [esp + 4]
push eax
push edi
call dword [esi + 0x7c]
mov dword [esp + 4], eax
test eax, eax
mov eax, 0x75510d07
mov ecx, 0x2dafba48
cmovs eax, ecx
jmp 0x404397
cmp eax, 0xf545e25a
je 0x404981
cmp eax, 0x182861d
jne 0x404397
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push dword [esp + 0xc]
push eax
call dword [ecx + 0x40]
mov dword [esp + 4], eax
test eax, eax
mov eax, 0xb461e598
mov ecx, 0xad5a6d70
cmovns eax, ecx
jmp 0x404397
cmp eax, 0xb461e598
je 0x404992
cmp eax, 0xbb883b79
jne 0x404397
mov eax, dword [esp + 0x3c]
cmp eax, 2
mov eax, 0x18f731a8
mov ecx, 0x182861d
cmove eax, ecx
jmp 0x404397
cmp eax, 0x3ad423d0
je 0x4049a6
cmp eax, 0x43aef54c
jne 0x404397
push dword [esp + 0x24]
mov eax, dword [ebp + 8]
call dword [eax + 0x90]
mov eax, 0x888c3055
jmp 0x404397
cmp eax, 0x9b5da1c6
je 0x4049fa
cmp eax, 0x9bcead77
jne 0x404397
push 1
push 0
push 0xc
mov eax, dword [ebp + 8]
call dword [eax + 0x78]
mov ecx, dword [esp + 0x10]
cmp byte [ecx], 0
mov edi, eax
mov eax, 0x5c8a4352
mov ecx, 0x39ab7c23
cmove eax, ecx
jmp 0x404397
cmp eax, 0x2ac502f7
je 0x404a41
cmp eax, 0x2dafba48
jne 0x404397
push edi
mov eax, dword [ebp + 8]
call dword [eax + 0x80]
mov eax, 0x75510d07
xor edi, edi
jmp 0x404397
cmp eax, 0xc2333d20
je 0x404a5a
cmp eax, 0xc409151e
jne 0x404397
push 0x100
lea ebx, [esp + 0x9e]
push ebx
push 0xffffffffffffffff
push dword [esp + 0x38]
xor eax, eax
push eax
push eax
mov esi, dword [ebp + 8]
call dword [esi + 0x50]
push ebx
call dword [esi + 0x8c]
mov dword [esp + 0x24], eax
test eax, eax
mov eax, 0xbd13c603
mov ecx, 0x888c3055
cmove eax, ecx
jmp 0x404397
cmp eax, 0x5f30bde0
je 0x404ab7
cmp eax, 0x62d82728
jne 0x404397
mov eax, 0x52367161
jmp 0x404397
mov eax, 0xbd57459c
jmp 0x404397
mov eax, dword [esp]
cmp eax, dword [esp + 8]
mov eax, 0xdc7522cb
mov ecx, 0x98aadcbc
cmovb eax, ecx
jmp 0x404397
inc dword [esp]
mov eax, 0x2ac502f7
jmp 0x404397
push dword [esp + 0x60]
mov esi, dword [ebp + 8]
call dword [esi + 0x80]
push edi
call dword [esi + 0x80]
mov eax, 0x1b57596f
jmp 0x404397
push 0x100
lea ebx, [esp + 0x9e]
push ebx
push 0xffffffffffffffff
push dword [esp + 0x3c]
xor eax, eax
push eax
push eax
mov esi, dword [ebp + 8]
call dword [esi + 0x50]
push ebx
call dword [esi + 0x8c]
mov dword [esp + 0x28], eax
test eax, eax
mov eax, 0xc409151e
mov ecx, 0xcced4903
cmove eax, ecx
jmp 0x404397
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
push dword [esp + 0x20]
push dword [esp + 0x2c]
push eax
call dword [ecx + 0x44]
mov dword [esp + 4], eax
test eax, eax
mov eax, 0x43aef54c
mov ecx, 0xbfd32d97
cmovns eax, ecx
jmp 0x404397
mov eax, 0x90acd3d7
xor ecx, ecx
inc ecx
mov dword [esp + 0x1c], ecx
jmp 0x404397
mov eax, 0xa54170f0
jmp 0x404397
cmp dword [esp + 4], 0
mov eax, 0xa54170f0
mov ecx, 0xc2333d20
cmovns eax, ecx
jmp 0x404397
mov eax, 0x43aef54c
jmp 0x404397
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax]
lea edx, [esp + 0x18]
push edx
push eax
call dword [ecx + 0x48]
mov dword [esp + 4], eax
test eax, eax
mov eax, 0x378c7bef
mov ecx, 0x9b5da1c6
cmovns eax, ecx
jmp 0x404397
mov eax, 0x90acd3d7
mov dword [esp + 0x1c], 0
jmp 0x404397
mov dword [esp], 0
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 4]
push eax
push edi
mov eax, dword [ebp + 8]
call dword [eax + 0x7c]
mov eax, 0x3ad423d0
jmp 0x404397
inc dword [esp]
mov eax, 0x80b47ca9
jmp 0x404397
mov eax, 0x6c5c4bf5
jmp 0x404397
push 0x100
lea ebx, [esp + 0x9e]
push ebx
push 0xffffffffffffffff
push dword [esp + 0x1c]
xor esi, esi
push esi
push esi
mov edi, dword [ebp + 8]
call dword [edi + 0x50]
lea eax, [esp + 8]
push eax
push ebx
call dword [edi + 0x70]
mov dword [esp + 0x14], eax
push dword [esp + 8]
push esi
push 0xc
call dword [edi + 0x78]
mov edi, eax
test eax, eax
mov eax, 0xf545e25a
mov ecx, 0x62d82728
cmove eax, ecx
jmp 0x404397
mov dword [esp], 0
mov eax, 0x80b47ca9
jmp 0x404397
mov eax, dword [esp + 0xc]
mov dword [eax], 0
mov eax, 0x2ec1bbe7
jmp 0x404397
mov word [esp + 0x40], 1
mov dword [esp + 0x48], 0
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov ecx, dword [eax]
sub esp, 0x1c
movaps xmm0, xmmword [esp + 0x5c]
movups xmmword [esp + 4], xmm0
lea edx, [esp + 0x94]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edi
mov dword [esp], eax
call dword [ecx + 0x94]
mov dword [esp + 4], eax
test edi, edi
mov eax, 0xb9690a1
mov ecx, 0x1b57596f
cmove eax, ecx
jmp 0x404397
lea eax, [esp + 0x34]
push eax
xor esi, esi
inc esi
push esi
push dword [esp + 0x20]
mov ebx, dword [ebp + 8]
call dword [ebx + 0x84]
lea eax, [esp + 0x38]
push eax
push esi
push dword [esp + 0x20]
call dword [ebx + 0x88]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x34]
cmp eax, 0xffffffff
mov eax, 0x9bcead77
mov ecx, 0x3ad423d0
cmove eax, ecx
jmp 0x404397
mov eax, dword [esp]
cmp eax, dword [esp + 8]
mov eax, 0xd21e24f3
mov ecx, 0x5f30bde0
cmovb eax, ecx
jmp 0x404397
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov ecx, dword [eax]
sub esp, 0x28
movaps xmm0, xmmword [esp + 0x68]
movups xmmword [esp + 0x10], xmm0
lea edx, [esp + 0xb0]
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0x4c]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x118
call dword [ecx + 0xe4]
mov dword [esp + 4], eax
test edi, edi
mov eax, 0x75b0f6e4
mov ecx, 0x4a1f5d09
cmove eax, ecx
jmp 0x404397
mov ecx, dword [ebp + 8]
mov esi, dword [ecx + 0x7c]
mov eax, dword [esp]
mov edx, dword [esp + 0x14]
push dword [edx + eax*4]
call dword [ecx + 0x8c]
push eax
lea eax, [esp + 4]
push eax
push dword [esp + 0x68]
call esi
mov eax, 0x80e0068f
jmp 0x404397
cmp eax, 0x90acd3d7
jne 0x404397
mov eax, dword [esp + 0x1c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret