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

Disassembly:
push 0xffffffffffffffff
push 0x10153c58
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101a42b4]
xor eax, esp
push eax
lea eax, [esp + 0x64]
mov dword fs:[0], eax
mov edi, dword [esp + 0x74]
mov ebp, dword [edi + 0x18]
mov ch, ch
mov esi, dword [esp + 0x78]
test esi, esi
mov ebx, dword [esp + 0x7c]
jne 0x10080766
test ebx, ebx
jne 0x10080766
xor eax, eax
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret
mov eax, dword [edi + 0x38]
test eax, eax
jne 0x10080a0e
test dh, dh
lea eax, [esp + 0x14]
push eax
call fcn.1004d910
test eax, 0x1ca8
add dword [esp + 0x14], esi
test ah, ah
add dword [esp + 0x18], ebx
test eax, 0x45b9
xor eax, eax
cmp dword [edi + 0x25f4], eax
je 0x100809f6
test eax, eax
cmp ebp, eax
je 0x100807f3
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov cl, cl
lea ecx, [esp + 0x2c]
push ecx
push ebp
call dword [sym.imp.USER32.dll_ClientToScreen]
mov esi, esi
test ecx, ecx
lea edx, [esp + 0x44]
push edx
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
mov cl, cl
mov ebx, dword [esp + 0x2c]
test bl, bl
mov esi, dword [esp + 0x30]
test edx, edx
mov eax, dword [esp + 0x4c]
add eax, ebx
mov dword [esp + 0x5c], eax
mov ch, ch
mov ecx, dword [esp + 0x50]
add ecx, esi
mov dword [esp + 0x60], ecx
mov dl, dl
jmp 0x10080832
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call esi
mov ebp, eax
mov ch, ch
push 0x4f
call esi
mov dword [esp + 0x74], eax
xchg ebx, eax
xchg ebx, eax
push 0x4c
call esi
mov ebx, eax
push edx
pop edx
push 0x4d
call esi
mov al, al
test dl, dl
mov esi, eax
test eax, 0x5e64
mov dword [esp + 0x5c], ebp
test bh, bh
mov edx, dword [esp + 0x74]
mov dword [esp + 0x60], edx
mov dl, dl
xor ebp, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x6c], ebp
test ah, ah
test edx, edx
lea eax, [esp + 0x1c]
push eax
call fcn.1004d910
test ah, ah
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x60]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x30]
push ecx
push edx
push eax
lea ecx, [esp + 0x54]
push ecx
push edi
call fcn.1007dbb0
add esp, 0x28
mov al, al
mov dword [edi + 0x32f8], 1
test bl, bl
mov dword [edi + 0x3358], ebp
push ebx
pop ebx
mov dword [edi + 0x37c8], ebp
mov dh, dh
xchg ebx, eax
xchg ebx, eax
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov ebp, ebp
xor esi, esi
lea ebx, [ebx]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100809ba
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp esi, ecx
jae 0x100809ba
test eax, eax
lea ecx, [eax + esi*8]
mov dword [esp + 0x74], ecx
je 0x100808f3
sub edx, eax
sar edx, 3
cmp esi, edx
jb 0x100808fc
call fcn.100f6196
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x74]
mov ecx, dword [edx + 4]
mov edx, dword [eax + esi*8]
push ebp
push ebx
sub ecx, ebp
push ecx
sub edx, ebx
push edx
push 9
push edi
call fcn.100505b0
add esp, 0x18
test eax, 0x31df
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x1008092a
xor eax, eax
jmp 0x10080933
mov eax, dword [esp + 0x3c]
sub eax, ecx
sar eax, 3
add eax, 0xffffffff
cmp esi, eax
jae 0x1008097e
push 0
push edi
call fcn.100497f0
add esp, 8
test eax, eax
je 0x1008098b
mov ebx, dword [edi + 0x25f8]
test ebx, ebx
je 0x1008098b
jle 0x1008096e
call fcn.100f6ccc
cdq
idiv ebx
test dh, dh
test eax, 0x451f
mov eax, ebx
sar eax, 1
sub ebx, eax
add ebx, edx
jmp 0x10080973
mov ebx, 1
push ebx
call dword [sym.imp.KERNEL32.DLL_Sleep]
push edx
pop edx
jmp 0x1008098b
push 1
push edi
call fcn.100497f0
add esp, 8
mov dl, dl
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100809a0
mov ecx, dword [esp + 0x3c]
sub ecx, eax
sar ecx, 3
cmp esi, ecx
jb 0x100809a9
call fcn.100f6196
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + esi*8]
mov ebp, dword [eax + esi*8 + 4]
test ah, ah
add esi, 1
jmp 0x100808c0
mov dword [edi + 0x32f8], 0
mov edi, edi
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10080cc2
push eax
call fcn.100e2dad
add esp, 4
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
jmp 0x10080cef
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push esi
push 9
push edi
call fcn.100505b0
add esp, 0x18
mov ch, ch
jmp 0x10080cef
cmp eax, 1
je 0x10080b7a
cmp eax, 3
je 0x10080b7a
cmp eax, 2
jne 0x10080cef
lea eax, [edi + 0x50]
push eax
lea ecx, [edi + 0x4c]
push ecx
push edi
call fcn.10053760
add esp, 0xc
test eax, eax
cmp dword [edi + 0x25f4], 0
je 0x10080b56
test edi, edi
lea ecx, [esp + 0x1c]
push ecx
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
mov ebp, ebp
test bh, bh
test ebx, ebx
mov ecx, dword [edi + 0x4c]
test cl, cl
mov edx, dword [edi + 0x50]
push eax
pop eax
mov ebp, dword [edi + 0x4c]
add ebp, esi
mov ecx, ecx
mov esi, dword [edi + 0x50]
add esi, ebx
mov dword [esp + 0x30], esi
test esi, esi
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], 2
test esi, esi
mov ebx, dword [esp + 0x1c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [esp + 0x30]
push esi
push ebp
push edx
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x40]
push ecx
lea edx, [esp + 0x54]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x48]
push edx
push edi
mov dword [eax + 0xc], ebx
call fcn.1007dbb0
add esp, 0x28
mov eax, eax
mov al, al
xor ebx, ebx
lea esp, [esp]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10080b36
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ebx, ecx
jae 0x10080b36
test eax, eax
lea esi, [eax + ebx*8]
je 0x10080af7
sub edx, eax
sar edx, 3
cmp ebx, edx
jb 0x10080b00
call fcn.100f6196
mov eax, dword [esp + 0x38]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*8]
push 1
push ecx
push edx
push edi
call fcn.100aa350
add esp, 0x10
mov ch, ch
mov esi, dword [edi + 0x25f8]
test esi, esi
je 0x10080b2d
call fcn.100478c0
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
test ah, ah
mov esi, dword [esp + 0x30]
add ebx, 1
jmp 0x10080ad0
mov dword [edi + 0x4c], ebp
test dh, dh
mov dword [edi + 0x50], esi
test dl, dl
mov dword [esp + 0x6c], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.1000a510
jmp 0x10080cef
add dword [edi + 0x4c], esi
mov ebx, ebx
add dword [edi + 0x50], ebx
push ecx
pop ecx
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x4c]
push 1
push eax
push ecx
push edi
call fcn.100aa350
add esp, 0x10
mov edi, edi
jmp 0x10080cef
lea eax, [edi + 0x50]
push eax
lea ecx, [edi + 0x4c]
push ecx
push edi
call fcn.10053760
add esp, 0xc
test cl, cl
cmp dword [edi + 0x25f4], 0
je 0x10080cd2
push ecx
pop ecx
lea edx, [esp + 0x1c]
push edx
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
test cl, cl
mov al, al
mov bl, bl
mov ecx, dword [edi + 0x4c]
test cl, cl
mov edx, dword [edi + 0x50]
push edx
pop edx
mov ebp, dword [edi + 0x4c]
add ebp, esi
mov ecx, ecx
mov esi, dword [edi + 0x50]
add esi, ebx
mov dword [esp + 0x30], esi
nop
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], 1
mov dh, dh
mov ebx, dword [esp + 0x1c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x34]
push esi
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x3c]
push ebp
push edx
mov dword [eax + 0xc], ebx
push ecx
lea eax, [esp + 0x54]
push eax
push edi
call fcn.1007dbb0
add esp, 0x28
test ecx, ecx
mov ebp, ebp
xor ebx, ebx
lea esp, [esp]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10080c9f
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ebx, ecx
jae 0x10080c9f
test eax, eax
lea esi, [eax + ebx*8]
je 0x10080c47
sub edx, eax
sar edx, 3
cmp ebx, edx
jb 0x10080c50
call fcn.100f6196
mov eax, dword [esp + 0x38]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*8]
push ecx
push edx
push edi
call fcn.100628c0
add esp, 0xc
test edi, edi
mov esi, dword [edi + 0x25f8]
test esi, esi
je 0x10080c96
jle 0x10080c88
call fcn.100f6ccc
cdq
idiv esi
test dh, dh
test eax, 0x451f
mov eax, esi
sar eax, 1
sub esi, eax
add esi, edx
jmp 0x10080c8d
mov esi, 1
push esi
call dword [sym.imp.KERNEL32.DLL_Sleep]
test dl, dl
mov esi, dword [esp + 0x30]
add ebx, 1
jmp 0x10080c20
mov dword [edi + 0x4c], ebp
mov edi, edi
mov dword [edi + 0x50], esi
test cl, cl
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10080cc2
push eax
call fcn.100e2dad
add esp, 4
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
jmp 0x10080cef
add dword [edi + 0x4c], esi
mov al, al
add dword [edi + 0x50], ebx
mov ebp, ebp
mov ecx, dword [edi + 0x50]
mov edx, dword [edi + 0x4c]
push ecx
push edx
push edi
call fcn.100628c0
add esp, 0xc
test ah, ah
mov eax, 1
add dword [edi + 0x3364], eax
test ch, ch
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret