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

Disassembly:
mov eax, 0x41c
call fcn.004a5270
mov eax, dword [0x518764]
xor eax, esp
mov dword [esp + 0x418], eax
push ebx
mov ebx, dword [esp + 0x424]
push ebp
push esi
mov esi, dword [esp + 0x430]
xor ebp, ebp
push edi
push dword [esi + 8]
push dword [esi + 4]
push ebx
call fcn.0042c7d0
add esp, 0xc
test eax, eax
je 0x431f73
push ebp
push 0x431fb0
push ebp
push ebp
push 0x431f90
push ebx
call fcn.0042cbc0
add esp, 0x18
test eax, eax
je 0x431f73
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.0042cbb0
mov eax, dword [esi + 0xc]
push dword [esi + 0x20]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x10]
push dword [esi + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x18]
push ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x38], ebp
call fcn.0042c8b0
add esp, 0x14
test eax, eax
je 0x431f4b
lea eax, [ebx + 8]
push eax
push dword [ebx]
push 0xb
call fcn.00438820
mov edx, dword [esi + 0x28]
mov ecx, eax
mov eax, edx
shr eax, 1
test ecx, ecx
cmove edx, eax
lea eax, [esp + 0x34]
push edx
push dword [esi + 0x24]
push ebp
push dword [esi + 0x48]
push eax
push ebx
call fcn.0042c620
add esp, 0x24
test eax, eax
je 0x431f4b
mov edi, dword [esi + 0x48]
lea ecx, [esp + 0x28]
mov edx, dword [esi + 0x44]
sub edi, 4
jb 0x431c41
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x431c46
add ecx, 4
add edx, 4
sub edi, 4
jae 0x431c30
cmp edi, 0xfffffffc
je 0x431c87
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x431c73
cmp edi, 0xfffffffd
je 0x431c87
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x431c73
cmp edi, 0xfffffffe
je 0x431c87
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x431c73
cmp edi, 0xffffffff
je 0x431c87
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x431c87
push 0xf6
push 0x51f0b0
push 0x91
jmp 0x431f5a
cmp dword [esp + 0x438], ebp
je 0x431ca5
push ebx
mov ebp, 1
call fcn.0042cc50
add esp, 4
mov eax, ebp
jmp 0x431f75
push dword [esi + 0x38]
mov eax, dword [esi + 0x2c]
push dword [esi + 0x34]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x30]
push ebx
mov dword [esp + 0x20], eax
call fcn.0042cb90
add esp, 0xc
test eax, eax
je 0x431f4b
push dword [esi + 0x40]
lea eax, [esp + 0x2c]
push dword [esi + 0x3c]
push 0
push dword [esi + 0x50]
push eax
push ebx
call fcn.0042c620
add esp, 0x18
test eax, eax
je 0x431f4b
mov edi, dword [esi + 0x50]
lea ecx, [esp + 0x28]
mov edx, dword [esi + 0x4c]
sub edi, 4
jb 0x431d11
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x431d16
add ecx, 4
add edx, 4
sub edi, 4
jae 0x431d00
cmp edi, 0xfffffffc
je 0x431d57
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x431d43
cmp edi, 0xfffffffd
je 0x431d57
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x431d43
cmp edi, 0xfffffffe
je 0x431d57
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x431d43
cmp edi, 0xffffffff
je 0x431d57
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x431d57
push 0x10d
push 0x51f0b0
push 0x92
jmp 0x431f5a
push ebx
call fcn.0042cc50
push dword [esi + 8]
push dword [esi + 4]
push ebx
call fcn.0042c7d0
add esp, 0x10
test eax, eax
je 0x431f73
push 0
push 0x431fb0
push 0
push 0
push 0x431f90
push ebx
call fcn.0042cbc0
add esp, 0x18
test eax, eax
je 0x431f73
lea eax, [esp + 0x10]
push eax
push ebx
call fcn.0042cbb0
mov eax, dword [esi + 0x54]
push dword [esi + 0x68]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x58]
push dword [esi + 0x64]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x5c]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x60]
push ebx
mov dword [esp + 0x34], eax
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x38], ebp
call fcn.0042c8b0
add esp, 0x14
test eax, eax
je 0x431f4b
mov eax, dword [esi + 0x74]
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x78]
mov dword [esp + 0x14], eax
lea eax, [ebx + 8]
push eax
push dword [ebx]
push 0xb
call fcn.00438820
mov edx, dword [esi + 0x70]
mov ecx, eax
mov eax, edx
shr eax, 1
test ecx, ecx
cmove edx, eax
lea eax, [esp + 0x34]
push edx
push dword [esi + 0x6c]
push 1
push dword [esi + 0x90]
push eax
push ebx
call fcn.0042c620
add esp, 0x24
test eax, eax
je 0x431f4b
mov edi, dword [esi + 0x90]
lea ecx, [esp + 0x28]
mov edx, dword [esi + 0x8c]
sub edi, 4
jb 0x431e51
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x431e56
add ecx, 4
add edx, 4
sub edi, 4
jae 0x431e40
cmp edi, 0xfffffffc
je 0x431e97
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x431e83
cmp edi, 0xfffffffd
je 0x431e97
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x431e83
cmp edi, 0xfffffffe
je 0x431e97
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x431e83
cmp edi, 0xffffffff
je 0x431e97
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x431e97
push 0x13e
push 0x51f0b0
push 0x93
jmp 0x431f5a
push dword [esi + 0x80]
mov eax, dword [esi + 0x84]
push dword [esi + 0x7c]
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x88]
push 1
push dword [esi + 0x98]
mov dword [esp + 0x24], eax
lea eax, [esp + 0x38]
push eax
push ebx
call fcn.0042c620
add esp, 0x18
test eax, eax
je 0x431f4b
mov edx, dword [esi + 0x94]
lea ecx, [esp + 0x28]
mov esi, dword [esi + 0x98]
sub esi, 4
jb 0x431ef4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x431efd
add ecx, 4
add edx, 4
sub esi, 4
jae 0x431ee3
cmp esi, 0xfffffffc
je 0x431c90
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x431f3a
cmp esi, 0xfffffffd
je 0x431c90
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x431f3a
cmp esi, 0xfffffffe
je 0x431c90
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x431f3a
cmp esi, 0xffffffff
je 0x431c90
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x431c90
push 0x14f
push 0x51f0b0
push 0x94
jmp 0x431f5a
push 0x157
push 0x51f0b0
push 0x86
push 0x77
push 0x2d
call fcn.004311f0
add esp, 0x14
push ebx
call fcn.0042cc50
add esp, 4
mov eax, ebp
jmp 0x431f75
xor eax, eax
mov ecx, dword [esp + 0x428]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004a50d6
add esp, 0x41c
ret