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

Disassembly:
sub esp, 0xc
mov eax, dword [0x467334]
xor eax, esp
mov dword [esp + 8], eax
mov eax, dword [esi + 0x18]
push ebp
push edi
test eax, eax
jne 0x439fbf
push eax
mov dword [esi + 0x18], 1
call fcn.0043cb47
add esp, 4
add eax, 0x3c
jmp 0x43a3c9
mov ebp, 1
cmp eax, ebp
jne 0x439fd4
mov dword [esi + 0x18], 2
jmp 0x43a3bc
cmp eax, 2
jne 0x439ff4
push 0
mov dword [esi + 0x18], 4
call fcn.0043cb47
add esp, 4
add eax, 0xb4
jmp 0x43a3c9
cmp eax, 4
jne 0x43a012
push 0
mov dword [esi + 0x18], 5
call fcn.0043cb47
add esp, 4
add eax, 0x3c
jmp 0x43a3c9
cmp eax, 5
jne 0x43a023
mov dword [esi + 0x18], 6
jmp 0x43a3bc
cmp eax, 6
jne 0x43a06c
push 0
mov dword [esi + 0x18], 8
call fcn.0043cb47
add esp, 4
add eax, 0xb4
adc edx, 0
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00417a50
test eax, eax
je 0x43a3d2
call fcn.00438a50
xor eax, eax
pop edi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0043c2d9
add esp, 0xc
ret
cmp eax, 8
jne 0x43a08c
push 0
mov dword [esi + 0x18], 0xa
call fcn.0043cb47
add esp, 4
add eax, 0x12c
jmp 0x43a3c9
mov edi, 0xa
cmp eax, edi
jne 0x43a0e3
push 0
mov dword [esi + 0x18], 0xc
call fcn.0043cb47
add esp, 4
add eax, 0x12c
adc edx, 0
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00417b10
call fcn.00438a10
test eax, eax
je 0x43a3d2
call fcn.00438e90
call fcn.00439810
xor eax, eax
pop edi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0043c2d9
add esp, 0xc
ret
cmp eax, 0xc
jne 0x43a103
push 0
mov dword [esi + 0x18], 0xe
call fcn.0043cb47
add esp, 4
add eax, 0x12c
jmp 0x43a3c9
cmp eax, 0xe
jne 0x43a1be
push esi
call fcn.0043a5c0
add dword [esi + 0x48], ebp
cmp dword [esi + 0x48], 9
ja 0x43a240
push 0
call fcn.0043cb47
add esp, 4
add eax, 0x12c
adc edx, 0
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor edi, edi
lea esp, [esp]
push edi
mov eax, esi
call fcn.0043acd0
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x43a18e
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edi, ebp
add eax, edx
cmp edi, eax
jae 0x43a174
test edi, edi
jne 0x43a140
mov dword [esi + 0x18], 0xa
xor eax, eax
pop edi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0043c2d9
add esp, 0xc
ret
add edi, 0xf
mov dword [esi + 0x18], edi
call fcn.00417b40
sub eax, ebp
jne 0x43a3d2
call fcn.00438f00
call fcn.00438ff0
xor eax, eax
pop edi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0043c2d9
add esp, 0xc
ret
cmp eax, 0xf
jne 0x43a256
push esi
call fcn.0043a5c0
add dword [esi + 0x48], ebp
cmp dword [esi + 0x48], 9
ja 0x43a240
push 0
call fcn.0043cb47
add esp, 4
add eax, 0x12c
adc edx, 0
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00417a50
test eax, eax
je 0x43a1fc
call fcn.00439060
mov edi, ebp
mov edi, edi
push edi
mov eax, esi
call fcn.0043acd0
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x43a23d
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edi, ebp
add ecx, edx
cmp edi, ecx
jb 0x43a234
xor edi, edi
jmp 0x43a200
cmp edi, ebp
jne 0x43a200
jmp 0x43a174
add edi, 0xf
mov dword [esi + 0x18], edi
xor eax, eax
pop edi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0043c2d9
add esp, 0xc
ret
cmp eax, 0x10
jne 0x43a32b
push esi
call fcn.0043a5c0
lea eax, [esp + 0xb]
mov byte [esp + 0xb], 0
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x43a271
sub eax, edx
je 0x43a281
call fcn.004390d0
call fcn.00403c90
test eax, eax
je 0x43a28f
call fcn.00419cc0
add dword [esi + 0x48], ebp
cmp dword [esi + 0x48], 9
ja 0x43a240
push 0
call fcn.0043cb47
add esp, 4
add eax, 0x12c
adc edx, 0
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
mov edi, 2
push edi
mov eax, esi
call fcn.0043acd0
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x43a2f3
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edi, ebp
add eax, edx
cmp edi, eax
jb 0x43a2e9
xor edi, edi
jmp 0x43a2b5
cmp edi, 2
jne 0x43a2b5
jmp 0x43a174
add edi, 0xf
mov dword [esi + 0x18], edi
call fcn.00417b10
test eax, eax
je 0x43a3d2
call dword [sym.imp.USER32.dll_GetActiveWindow]
call dword [sym.imp.USER32.dll_GetCapture]
call dword [sym.imp.USER32.dll_GetClipboardOwner]
xor eax, eax
pop edi
pop ebp
mov ecx, dword [esp + 8]
xor ecx, esp
call fcn.0043c2d9
add esp, 0xc
ret
cmp eax, 0x11
jne 0x43a3b5
push esi
call fcn.0043a5c0
call fcn.00403c90
sub eax, ebp
jne 0x43a34d
call fcn.004399b0
call fcn.004391a0
add dword [esi + 0x48], ebp
cmp dword [esi + 0x48], 9
ja 0x43a240
push 0
call fcn.0043cb47
add esp, 4
add eax, 0x12c
adc edx, 0
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor edi, edi
push edi
mov eax, esi
call fcn.0043acd0
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x43a23d
mov ecx, dword [esi + 0x10]
sub ecx, dword [esi + 0xc]
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edi, ebp
add ecx, edx
cmp edi, ecx
jae 0x43a174
test edi, edi
jne 0x43a374
jmp 0x43a174
mov dword [esi + 0x18], 0
push 0
call fcn.0043cb47
add esp, 4
add eax, 0x78
adc edx, 0
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
mov ecx, dword [esp + 0x10]
pop edi
pop ebp
xor ecx, esp
xor eax, eax
call fcn.0043c2d9
add esp, 0xc
ret