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

Disassembly:
push 0xffffffffffffffff
push 0x10173ad8
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101c52b4]
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 dl, dl
mov esi, dword [esp + 0x78]
test esi, esi
mov ebx, dword [esp + 0x7c]
jne 0x1008d8b6
test ebx, ebx
jne 0x1008d8b6
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 0x1008db48
push ecx
pop ecx
lea eax, [esp + 0x14]
push eax
call fcn.100596b0
mov al, al
add dword [esp + 0x14], esi
mov ebp, ebp
add dword [esp + 0x18], ebx
mov eax, eax
xor eax, eax
cmp dword [edi + 0x25f4], eax
je 0x1008db30
mov dl, dl
cmp ebp, eax
je 0x1008d93d
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov eax, eax
lea ecx, [esp + 0x2c]
push ecx
push ebp
call dword [sym.imp.USER32.dll_ClientToScreen]
mov al, al
mov dh, dh
lea edx, [esp + 0x44]
push edx
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, eax
mov ebx, dword [esp + 0x2c]
mov edi, edi
mov esi, dword [esp + 0x30]
push eax
pop eax
mov eax, dword [esp + 0x4c]
add eax, ebx
mov dword [esp + 0x5c], eax
push ebx
pop ebx
mov ecx, dword [esp + 0x50]
add ecx, esi
mov dword [esp + 0x60], ecx
mov bh, bh
jmp 0x1008d978
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call esi
mov ebp, eax
mov ebx, ebx
push 0x4f
call esi
mov dword [esp + 0x74], eax
mov edi, edi
push 0x4c
call esi
mov ebx, eax
mov al, al
push 0x4d
call esi
push ecx
pop ecx
nop
mov esi, eax
mov ecx, ecx
mov dword [esp + 0x5c], ebp
mov ch, ch
mov edx, dword [esp + 0x74]
mov dword [esp + 0x60], edx
push ebx
pop ebx
xor ebp, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x6c], ebp
mov ebp, ebp
mov ah, ah
lea eax, [esp + 0x1c]
push eax
call fcn.100596b0
mov bl, bl
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.1008ad60
add esp, 0x28
mov ecx, ecx
mov dword [edi + 0x32f8], 1
push ecx
pop ecx
mov dword [edi + 0x3358], ebp
mov eax, eax
mov dword [edi + 0x37c8], ebp
mov cl, cl
mov edi, edi
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov ebp, ebp
xor esi, esi
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1008daf4
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp esi, ecx
jae 0x1008daf4
test eax, eax
lea ecx, [eax + esi*8]
mov dword [esp + 0x74], ecx
je 0x1008da33
sub edx, eax
sar edx, 3
cmp esi, edx
jb 0x1008da3c
call fcn.10110295
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.1005c340
add esp, 0x18
mov dl, dl
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x1008da67
xor eax, eax
jmp 0x1008da70
mov eax, dword [esp + 0x3c]
sub eax, ecx
sar eax, 3
add eax, 0xffffffff
cmp esi, eax
jae 0x1008dab8
push 0
push edi
call fcn.10055600
add esp, 8
test eax, eax
je 0x1008dac5
mov ebx, dword [edi + 0x25f8]
test ebx, ebx
je 0x1008dac5
jle 0x1008daa8
call fcn.10110dcc
cdq
idiv ebx
mov ebp, ebp
push ebx
pop ebx
mov eax, ebx
sar eax, 1
sub ebx, eax
add ebx, edx
jmp 0x1008daad
mov ebx, 1
push ebx
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov ch, ch
jmp 0x1008dac5
push 1
push edi
call fcn.10055600
add esp, 8
mov ebp, ebp
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1008dada
mov ecx, dword [esp + 0x3c]
sub ecx, eax
sar ecx, 3
cmp esi, ecx
jb 0x1008dae3
call fcn.10110295
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + esi*8]
mov ebp, dword [eax + esi*8 + 4]
mov ch, ch
add esi, 1
jmp 0x1008da00
mov dword [edi + 0x32f8], 0
mov eax, eax
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1008ddef
push eax
call fcn.100fcea8
add esp, 4
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
jmp 0x1008de1c
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push esi
push 9
push edi
call fcn.1005c340
add esp, 0x18
mov bl, bl
jmp 0x1008de1c
cmp eax, 1
je 0x1008dcad
cmp eax, 3
je 0x1008dcad
cmp eax, 2
jne 0x1008de1c
lea eax, [edi + 0x50]
push eax
lea ecx, [edi + 0x4c]
push ecx
push edi
call fcn.1005fa50
add esp, 0xc
mov esi, esi
cmp dword [edi + 0x25f4], 0
je 0x1008dc89
push eax
pop eax
lea ecx, [esp + 0x1c]
push ecx
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, edx
mov bl, bl
mov cl, cl
mov ecx, dword [edi + 0x4c]
push edx
pop edx
mov edx, dword [edi + 0x50]
mov bl, bl
mov ebp, dword [edi + 0x4c]
add ebp, esi
mov bh, bh
mov esi, dword [edi + 0x50]
add esi, ebx
mov dword [esp + 0x30], esi
xchg ebx, eax
xchg ebx, eax
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], 2
mov edx, edx
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.1008ad60
add esp, 0x28
mov bl, bl
mov ebp, ebp
xor ebx, ebx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1008dc69
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ebx, ecx
jae 0x1008dc69
test eax, eax
lea esi, [eax + ebx*8]
je 0x1008dc2a
sub edx, eax
sar edx, 3
cmp ebx, edx
jb 0x1008dc33
call fcn.10110295
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.100c51f0
add esp, 0x10
push edx
pop edx
mov esi, dword [edi + 0x25f8]
test esi, esi
je 0x1008dc60
call fcn.100536f0
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov ebp, ebp
mov esi, dword [esp + 0x30]
add ebx, 1
jmp 0x1008dc03
mov dword [edi + 0x4c], ebp
mov dl, dl
mov dword [edi + 0x50], esi
mov ch, ch
mov dword [esp + 0x6c], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.10094290
jmp 0x1008de1c
add dword [edi + 0x4c], esi
mov al, al
add dword [edi + 0x50], ebx
mov cl, cl
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x4c]
push 1
push eax
push ecx
push edi
call fcn.100c51f0
add esp, 0x10
mov al, al
jmp 0x1008de1c
lea eax, [edi + 0x50]
push eax
lea ecx, [edi + 0x4c]
push ecx
push edi
call fcn.1005fa50
add esp, 0xc
mov esi, esi
cmp dword [edi + 0x25f4], 0
je 0x1008ddff
push ebx
pop ebx
lea edx, [esp + 0x1c]
push edx
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
xchg ebx, eax
xchg ebx, eax
nop
nop
mov ecx, dword [edi + 0x4c]
mov edx, edx
mov edx, dword [edi + 0x50]
mov eax, eax
mov ebp, dword [edi + 0x4c]
add ebp, esi
push edx
pop edx
mov esi, dword [edi + 0x50]
add esi, ebx
mov dword [esp + 0x30], esi
push edx
pop edx
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], 1
mov edi, edi
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.1008ad60
add esp, 0x28
mov ebx, ebx
mov edi, edi
xor ebx, ebx
jmp 0x1008dd50
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1008ddcc
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ebx, ecx
jae 0x1008ddcc
test eax, eax
lea esi, [eax + ebx*8]
je 0x1008dd77
sub edx, eax
sar edx, 3
cmp ebx, edx
jb 0x1008dd80
call fcn.10110295
mov eax, dword [esp + 0x38]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*8]
push ecx
push edx
push edi
call fcn.1006f730
add esp, 0xc
push ecx
pop ecx
mov esi, dword [edi + 0x25f8]
test esi, esi
je 0x1008ddc3
jle 0x1008ddb5
call fcn.10110dcc
cdq
idiv esi
mov ebp, ebp
push ebx
pop ebx
mov eax, esi
sar eax, 1
sub esi, eax
add esi, edx
jmp 0x1008ddba
mov esi, 1
push esi
call dword [sym.imp.KERNEL32.DLL_Sleep]
push ecx
pop ecx
mov esi, dword [esp + 0x30]
add ebx, 1
jmp 0x1008dd50
mov dword [edi + 0x4c], ebp
mov ebp, ebp
mov dword [edi + 0x50], esi
mov ebp, ebp
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1008ddef
push eax
call fcn.100fcea8
add esp, 4
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
jmp 0x1008de1c
add dword [edi + 0x4c], esi
mov edi, edi
add dword [edi + 0x50], ebx
mov cl, cl
mov ecx, dword [edi + 0x50]
mov edx, dword [edi + 0x4c]
push ecx
push edx
push edi
call fcn.1006f730
add esp, 0xc
mov dh, dh
mov eax, 1
add dword [edi + 0x3364], eax
mov bh, bh
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret