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

Disassembly:
push 0xffffffffffffffff
push 0x1017b898
mov eax, dword fs:[0]
push eax
sub esp, 0x50
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101cc114]
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 al, al
mov esi, dword [esp + 0x78]
test esi, esi
mov ebx, dword [esp + 0x7c]
jne 0x10098066
test ebx, ebx
jne 0x10098066
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 0x100982f7
mov edx, edx
lea eax, [esp + 0x14]
push eax
call fcn.100688f0
mov dh, dh
add dword [esp + 0x14], esi
push edx
pop edx
add dword [esp + 0x18], ebx
push eax
pop eax
xor eax, eax
cmp dword [edi + 0x25f8], eax
je 0x100982df
mov edx, edx
cmp ebp, eax
je 0x100980ed
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov ecx, ecx
lea ecx, [esp + 0x2c]
push ecx
push ebp
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ebx, ebx
mov al, al
lea edx, [esp + 0x44]
push edx
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
mov bl, bl
mov ebx, dword [esp + 0x2c]
push ebx
pop ebx
mov esi, dword [esp + 0x30]
mov bl, bl
mov eax, dword [esp + 0x4c]
add eax, ebx
mov dword [esp + 0x5c], eax
xchg ebx, eax
xchg ebx, eax
mov ecx, dword [esp + 0x50]
add ecx, esi
mov dword [esp + 0x60], ecx
mov bh, bh
jmp 0x10098128
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call esi
mov ebp, eax
mov bh, bh
push 0x4f
call esi
mov dword [esp + 0x74], eax
push eax
pop eax
push 0x4c
call esi
mov ebx, eax
mov ebp, ebp
push 0x4d
call esi
mov eax, eax
mov bh, bh
mov esi, eax
push eax
pop eax
mov dword [esp + 0x5c], ebp
nop
mov edx, dword [esp + 0x74]
mov dword [esp + 0x60], edx
mov dh, dh
xor ebp, ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x6c], ebp
mov ecx, ecx
mov ecx, ecx
lea eax, [esp + 0x1c]
push eax
call fcn.100688f0
nop
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.10095500
add esp, 0x28
nop
mov dword [edi + 0x32fc], 1
push ecx
pop ecx
mov dword [edi + 0x335c], ebp
xchg ebx, eax
xchg ebx, eax
mov dword [edi + 0x37cc], ebp
push ecx
pop ecx
push eax
pop eax
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
mov ah, ah
xor esi, esi
mov edi, edi
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100982a3
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp esi, ecx
jae 0x100982a3
test eax, eax
lea ecx, [eax + esi*8]
mov dword [esp + 0x74], ecx
je 0x100981e3
sub edx, eax
sar edx, 3
cmp esi, edx
jb 0x100981ec
call fcn.101196b5
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.1006b5f0
add esp, 0x18
mov edi, edi
mov ecx, dword [esp + 0x38]
test ecx, ecx
jne 0x10098217
xor eax, eax
jmp 0x10098220
mov eax, dword [esp + 0x3c]
sub eax, ecx
sar eax, 3
add eax, 0xffffffff
cmp esi, eax
jae 0x10098267
push 0
push edi
call fcn.1006c7d0
add esp, 8
test eax, eax
je 0x10098274
mov ebx, dword [edi + 0x25fc]
test ebx, ebx
je 0x10098274
jle 0x10098257
call fcn.1011a1ec
cdq
idiv ebx
nop
mov edi, edi
mov eax, ebx
sar eax, 1
sub ebx, eax
add ebx, edx
jmp 0x1009825c
mov ebx, 1
push ebx
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov eax, eax
jmp 0x10098274
push 1
push edi
call fcn.1006c7d0
add esp, 8
mov al, al
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10098289
mov ecx, dword [esp + 0x3c]
sub ecx, eax
sar ecx, 3
cmp esi, ecx
jb 0x10098292
call fcn.101196b5
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + esi*8]
mov ebp, dword [eax + esi*8 + 4]
push eax
pop eax
add esi, 1
jmp 0x100981b0
mov dword [edi + 0x32fc], 0
push edx
pop edx
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1009859e
push eax
call fcn.1010959d
add esp, 4
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
jmp 0x100985cb
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebx
push esi
push 9
push edi
call fcn.1006b5f0
add esp, 0x18
mov bl, bl
jmp 0x100985cb
cmp eax, 1
je 0x1009845c
cmp eax, 3
je 0x1009845c
cmp eax, 2
jne 0x100985cb
lea eax, [edi + 0x50]
push eax
lea ecx, [edi + 0x4c]
push ecx
push edi
call fcn.1006f310
add esp, 0xc
mov cl, cl
cmp dword [edi + 0x25f8], 0
je 0x10098438
push edx
pop edx
lea ecx, [esp + 0x1c]
push ecx
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
mov esi, esi
mov bh, bh
mov ebp, ebp
mov ecx, dword [edi + 0x4c]
xchg ebx, eax
xchg ebx, eax
mov edx, dword [edi + 0x50]
mov edx, edx
mov ebp, dword [edi + 0x4c]
add ebp, esi
mov cl, cl
mov esi, dword [edi + 0x50]
add esi, ebx
mov dword [esp + 0x30], esi
push ebx
pop ebx
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], 2
mov bl, bl
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.10095500
add esp, 0x28
mov esi, esi
mov bl, bl
xor ebx, ebx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10098418
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ebx, ecx
jae 0x10098418
test eax, eax
lea esi, [eax + ebx*8]
je 0x100983d9
sub edx, eax
sar edx, 3
cmp ebx, edx
jb 0x100983e2
call fcn.101196b5
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.100d0c30
add esp, 0x10
mov eax, eax
mov esi, dword [edi + 0x25fc]
test esi, esi
je 0x1009840f
call fcn.10062d50
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
push edx
pop edx
mov esi, dword [esp + 0x30]
add ebx, 1
jmp 0x100983b2
mov dword [edi + 0x4c], ebp
mov esi, esi
mov dword [edi + 0x50], esi
push ebx
pop ebx
mov dword [esp + 0x6c], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.1000d5f0
jmp 0x100985cb
add dword [edi + 0x4c], esi
mov esi, esi
add dword [edi + 0x50], ebx
mov ecx, ecx
mov eax, dword [edi + 0x50]
mov ecx, dword [edi + 0x4c]
push 1
push eax
push ecx
push edi
call fcn.100d0c30
add esp, 0x10
push edx
pop edx
jmp 0x100985cb
lea eax, [edi + 0x50]
push eax
lea ecx, [edi + 0x4c]
push ecx
push edi
call fcn.1006f310
add esp, 0xc
mov dl, dl
cmp dword [edi + 0x25f8], 0
je 0x100985ae
mov ecx, ecx
lea edx, [esp + 0x1c]
push edx
push ebp
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, edx
xchg ebx, eax
xchg ebx, eax
mov ebp, ebp
mov ecx, dword [edi + 0x4c]
xchg ebx, eax
xchg ebx, eax
mov edx, dword [edi + 0x50]
mov edi, edi
mov ebp, dword [edi + 0x4c]
add ebp, esi
mov al, al
mov esi, dword [edi + 0x50]
add esi, ebx
mov dword [esp + 0x30], esi
push ebx
pop ebx
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], 1
push eax
pop eax
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.10095500
add esp, 0x28
mov ah, ah
mov esi, esi
xor ebx, ebx
lea esp, [esp]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1009857b
mov edx, dword [esp + 0x3c]
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp ebx, ecx
jae 0x1009857b
test eax, eax
lea esi, [eax + ebx*8]
je 0x10098527
sub edx, eax
sar edx, 3
cmp ebx, edx
jb 0x10098530
call fcn.101196b5
mov eax, dword [esp + 0x38]
mov ecx, dword [esi + 4]
mov edx, dword [eax + ebx*8]
push ecx
push edx
push edi
call fcn.100778e0
add esp, 0xc
mov bl, bl
mov esi, dword [edi + 0x25fc]
test esi, esi
je 0x10098572
jle 0x10098564
call fcn.1011a1ec
cdq
idiv esi
nop
mov edi, edi
mov eax, esi
sar eax, 1
sub esi, eax
add esi, edx
jmp 0x10098569
mov esi, 1
push esi
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov eax, eax
mov esi, dword [esp + 0x30]
add ebx, 1
jmp 0x10098500
mov dword [edi + 0x4c], ebp
mov edi, edi
mov dword [edi + 0x50], esi
mov ebx, ebx
mov dword [esp + 0x6c], 0xffffffff
mov eax, dword [esp + 0x38]
test eax, eax
je 0x1009859e
push eax
call fcn.1010959d
add esp, 4
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
jmp 0x100985cb
add dword [edi + 0x4c], esi
mov eax, eax
add dword [edi + 0x50], ebx
push eax
pop eax
mov ecx, dword [edi + 0x50]
mov edx, dword [edi + 0x4c]
push ecx
push edx
push edi
call fcn.100778e0
add esp, 0xc
mov al, al
mov eax, 1
add dword [edi + 0x3368], eax
nop
mov ecx, dword [esp + 0x64]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5c
ret