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

Disassembly:
sub esp, 8
mov eax, dword [0x45f2b0]
xor eax, esp
mov dword [esp + 4], eax
mov eax, dword [esi + 0x18]
push ebx
push ebp
push edi
xor edi, edi
cmp eax, edi
jne 0x435929
push edi
mov dword [esi + 0x18], 1
call fcn.00439283
add esp, 4
add eax, 0x3c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
mov ebx, 1
cmp eax, ebx
jne 0x435961
push edi
mov dword [esi + 0x18], 2
call fcn.00439283
add esp, 4
add eax, 0x78
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
cmp eax, 2
jne 0x435997
mov dword [esi + 0x18], 4
push edi
call fcn.00439283
add esp, 4
add eax, 0xb4
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
cmp eax, 4
jne 0x4359de
mov dword [esi + 0x18], 5
call fcn.00417b00
test eax, eax
je 0x4359b6
call fcn.00435230
call fcn.004352d0
push edi
call fcn.00439283
add esp, 4
add eax, 0x3c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
cmp eax, 5
jne 0x435a12
push edi
mov dword [esi + 0x18], 6
call fcn.00439283
add esp, 4
add eax, 0x78
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
cmp eax, 6
jne 0x435a23
mov dword [esi + 0x18], 8
jmp 0x43596d
cmp eax, 8
jne 0x435a6b
push edi
mov dword [esi + 0x18], 0xa
call fcn.00439283
add esp, 4
add eax, 0x12c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00417e10
test eax, eax
je 0x435d75
call fcn.004197b0
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
mov ebp, 0xa
cmp eax, ebp
jne 0x435a8e
push edi
mov dword [esi + 0x18], 0xc
call fcn.00439283
add esp, 4
add eax, 0x12c
jmp 0x43597b
cmp eax, 0xc
jne 0x435aad
push edi
mov dword [esi + 0x18], 0xe
call fcn.00439283
add esp, 4
add eax, 0x12c
jmp 0x43597b
cmp eax, 0xe
jne 0x435baa
push esi
call fcn.00435f00
add dword [esi + 0x48], ebx
cmp dword [esi + 0x48], 9
jbe 0x435b00
mov dword [esi + 0x18], ebp
call fcn.00435140
test eax, eax
je 0x435d75
call fcn.00406fe0
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
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
push edi
call fcn.00439283
add esp, 4
add eax, 0x12c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00435140
test eax, eax
je 0x435b24
call fcn.004353a0
call fcn.00417b00
test eax, eax
je 0x435b32
call fcn.00435230
push edi
mov eax, esi
call fcn.00436550
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x435b90
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, ebx
add eax, edx
cmp edi, eax
jae 0x435b66
test edi, edi
jne 0x435b32
call fcn.00435170
sub eax, ebx
jne 0x435b79
call fcn.00401440
call fcn.004353a0
mov dword [esi + 0x18], ebp
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
add edi, 0xf
mov dword [esi + 0x18], edi
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
cmp eax, 0xf
jne 0x435c1f
push esi
call fcn.00435f00
add dword [esi + 0x48], ebx
cmp dword [esi + 0x48], 9
ja 0x435b79
push edi
call fcn.00439283
add esp, 4
add eax, 0x12c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
mov edi, ebx
push edi
mov eax, esi
call fcn.00436550
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x435b90
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, ebx
add ecx, edx
cmp edi, ecx
jb 0x435c08
xor edi, edi
call fcn.00435140
test eax, eax
je 0x435c16
call fcn.00406fe0
cmp edi, ebx
jne 0x435bd6
jmp 0x435b79
cmp eax, 0x10
jne 0x435cb3
push esi
call fcn.00435f00
add dword [esi + 0x48], ebx
cmp dword [esi + 0x48], 9
ja 0x435b79
push edi
call fcn.00439283
add esp, 4
add eax, 0x12c
adc edx, edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
mov edi, 2
push edi
mov eax, esi
call fcn.00436550
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x435c94
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, ebx
add eax, edx
cmp edi, eax
jb 0x435c8a
xor edi, edi
jmp 0x435c56
cmp edi, 2
jne 0x435c56
jmp 0x435b79
add edi, 0xf
mov dword [esi + 0x18], edi
call fcn.00417cd0
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
cmp eax, 0x11
jne 0x435d55
push esi
call fcn.00435f00
add dword [esi + 0x48], ebx
cmp dword [esi + 0x48], 9
ja 0x435b79
push edi
call fcn.00439283
add esp, 4
add eax, 0x12c
adc edx, edi
push edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00439283
add esp, 4
mov edi, edi
push edi
mov eax, esi
call fcn.00436550
add eax, 0x1c
cmp dword [eax + 0x14], 0
jne 0x435d2d
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, ebx
add ecx, edx
cmp edi, ecx
jae 0x435b79
test edi, edi
jne 0x435cf0
jmp 0x435b79
add edi, 0xf
mov dword [esi + 0x18], edi
call fcn.004069f0
test eax, eax
je 0x435d75
call fcn.00418a10
xor eax, eax
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 4]
xor ecx, esp
call fcn.00437983
add esp, 8
ret
push edi
mov dword [esi + 0x18], edi
call fcn.00439283
add esp, 4
add eax, 0x78
adc edx, edi
push edi
mov dword [esi + 0x50], eax
mov dword [esi + 0x54], edx
call fcn.00439283
add esp, 4
mov ecx, dword [esp + 0x10]
pop edi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00437983
add esp, 8
ret