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

Disassembly:
push 0xffffffffffffffff
push 0x1015ef08
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101b03d4]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov edi, dword [esp + 0x70]
mov ebx, dword [edi + 0x1c]
mov dword [esp + 0x70], ebx
push ecx
pop ecx
mov esi, dword [esp + 0x74]
test esi, esi
mov ebp, dword [esp + 0x78]
jne 0x1008250a
test ebp, ebp
jne 0x1008250a
xor eax, eax
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret
mov eax, dword [edi + 0x3c]
test eax, eax
jne 0x1008272d
mov al, al
lea eax, [esp + 0x14]
push eax
call fcn.10052300
nop
add dword [esp + 0x14], esi
mov eax, eax
add dword [esp + 0x18], ebp
mov edx, edx
xor eax, eax
cmp dword [edi + 0x25fc], eax
je 0x10082715
mov bh, bh
cmp ebx, eax
je 0x1008258d
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
push edx
pop edx
lea ecx, [esp + 0x2c]
push ecx
push ebx
call dword [sym.imp.USER32.dll_ClientToScreen]
mov ch, ch
mov dl, dl
lea edx, [esp + 0x40]
push edx
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov dl, dl
mov esi, dword [esp + 0x2c]
xchg ebx, eax
xchg ebx, eax
mov ebx, dword [esp + 0x30]
mov al, al
mov eax, dword [esp + 0x48]
lea ebp, [eax + esi]
mov cl, cl
mov ecx, dword [esp + 0x4c]
add ecx, ebx
mov dword [esp + 0x5c], ecx
mov dl, dl
jmp 0x100825c5
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x4e
call ebx
mov ebp, eax
push ecx
pop ecx
push 0x4f
call ebx
mov dword [esp + 0x70], eax
push ecx
pop ecx
push 0x4c
call ebx
mov esi, eax
mov ecx, ecx
push 0x4d
call ebx
mov edx, edx
mov ebp, ebp
mov ebx, eax
mov edx, edx
mov ah, ah
mov edx, dword [esp + 0x70]
mov dword [esp + 0x5c], edx
mov dh, dh
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x38]
call fcn.1005b9d0
mov dword [esp + 0x68], 0
mov cl, cl
push eax
pop eax
lea ecx, [esp + 0x1c]
push ecx
call fcn.10052300
push edx
pop edx
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x14]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], ebp
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.10064690
add esp, 0x28
push edx
pop edx
mov dword [edi + 0x3300], 1
mov edi, edi
xor esi, esi
mov dword [edi + 0x3360], esi
mov ch, ch
mov dword [edi + 0x37d0], esi
mov cl, cl
mov dl, dl
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov esi, esi
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
sub ebx, edx
sar ebx, 3
je 0x10082704
mov ebp, dword [sym.imp.KERNEL32.DLL_Sleep]
mov ebx, dword [edx + esi*8 + 4]
mov edx, dword [edx + esi*8]
push ecx
push eax
sub ebx, ecx
push ebx
sub edx, eax
push edx
push 9
push edi
call fcn.10054380
add esp, 0x18
mov edi, edi
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x34]
sar eax, 3
sub eax, 1
cmp esi, eax
jae 0x100826d2
push 0
push edi
call fcn.1004ddc0
add esp, 8
test eax, eax
je 0x100826df
mov ebx, dword [edi + 0x2600]
test ebx, ebx
je 0x100826df
jle 0x100826c6
call fcn.100fdcbc
cdq
idiv ebx
mov edx, edx
mov ecx, ebx
sar ecx, 1
sub edx, ecx
mov ah, ah
lea eax, [edx + ebx]
jmp 0x100826cb
mov eax, 1
push eax
call ebp
mov edx, edx
jmp 0x100826df
push 1
push edi
call fcn.1004ddc0
add esp, 8
mov dl, dl
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + esi*8]
mov ecx, dword [ecx + esi*8 + 4]
mov bh, bh
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
sub ebx, edx
add esi, 1
sar ebx, 3
cmp esi, ebx
jb 0x10082666
mov dword [edi + 0x3300], 0
push edx
pop edx
jmp 0x100829ce
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebp
push esi
push 9
push edi
call fcn.10054380
add esp, 0x18
mov ch, ch
jmp 0x10082a00
cmp eax, 1
je 0x10082891
cmp eax, 3
je 0x10082891
cmp eax, 2
jne 0x10082a00
lea ebp, [edi + 0x54]
push ebp
lea ebx, [edi + 0x50]
push ebx
push edi
call fcn.10057c40
add esp, 0xc
mov cl, cl
cmp dword [edi + 0x25fc], 0
je 0x1008286b
push edx
pop edx
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
push edx
pop edx
mov al, al
mov dh, dh
mov ecx, dword [ebx]
mov dword [esp + 0x2c], ecx
mov eax, eax
mov edx, dword [ebp]
mov dword [esp + 0x30], edx
mov dh, dh
mov ebx, dword [ebx]
add ebx, esi
push ecx
pop ecx
mov ebp, dword [ebp]
add ebp, dword [esp + 0x78]
push edx
pop edx
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x38]
call fcn.1005b9d0
mov dword [esp + 0x68], 2
push edx
pop edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x38]
push ebp
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x44]
push ebx
push eax
push ecx
lea edx, [esp + 0x54]
push edx
push edi
call fcn.10064690
add esp, 0x28
mov esi, esi
mov cl, cl
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
xor esi, esi
sub ecx, eax
sar ecx, 3
mov dword [esp + 0x70], esi
je 0x1008285c
jmp 0x10082810
mov edx, dword [eax + esi*8 + 4]
mov eax, dword [eax + esi*8]
push 1
push edx
push eax
push edi
call fcn.100b4660
add esp, 0x10
mov ah, ah
mov eax, dword [edi + 0x2600]
test eax, eax
je 0x10082844
mov esi, eax
call fcn.1004beb0
push eax
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov dh, dh
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
sub ecx, eax
add esi, 1
sar ecx, 3
cmp esi, ecx
mov dword [esp + 0x70], esi
jb 0x10082810
mov dword [edi + 0x50], ebx
mov eax, eax
mov dword [edi + 0x54], ebp
xchg ebx, eax
xchg ebx, eax
jmp 0x100829ce
add dword [ebx], esi
mov al, al
mov edx, dword [esp + 0x78]
add dword [ebp], edx
mov ebx, ebx
mov eax, dword [ebp]
mov ecx, dword [ebx]
push 1
push eax
push ecx
push edi
call fcn.100b4660
add esp, 0x10
push ecx
pop ecx
jmp 0x10082a00
lea ebp, [edi + 0x54]
push ebp
lea ebx, [edi + 0x50]
push ebx
push edi
call fcn.10057c40
add esp, 0xc
mov dh, dh
cmp dword [edi + 0x25fc], 0
je 0x100829e1
push edx
pop edx
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x1c]
push edx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov dl, dl
mov cl, cl
mov esi, esi
mov ecx, dword [ebx]
mov dword [esp + 0x2c], ecx
mov al, al
mov edx, dword [ebp]
mov dword [esp + 0x30], edx
mov ch, ch
mov ebx, dword [ebx]
add ebx, esi
mov ebp, ebp
mov ebp, dword [ebp]
add ebp, dword [esp + 0x78]
mov al, al
lea eax, [esp + 0x70]
push eax
lea ecx, [esp + 0x38]
call fcn.1005b9d0
mov dword [esp + 0x68], 1
mov edx, edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x38]
push ebp
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x44]
push ebx
push eax
push ecx
lea edx, [esp + 0x54]
push edx
push edi
call fcn.10064690
add esp, 0x28
push edx
pop edx
mov ch, ch
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
xor ecx, ecx
sub edx, eax
sar edx, 3
mov dword [esp + 0x70], ecx
je 0x100829c4
jmp 0x10082964
mov ecx, dword [esp + 0x70]
mov edx, dword [eax + ecx*8 + 4]
mov eax, dword [eax + ecx*8]
push edx
push eax
push edi
call fcn.1007d2f0
add esp, 0xc
mov ebx, ebx
mov esi, dword [edi + 0x2600]
test esi, esi
je 0x100829a8
jle 0x1008299a
call fcn.100fdcbc
cdq
idiv esi
mov edx, edx
mov ecx, esi
sar ecx, 1
sub edx, ecx
mov ah, ah
add esi, edx
jmp 0x1008299f
mov esi, 1
push esi
call dword [sym.imp.KERNEL32.DLL_Sleep]
mov dh, dh
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x70]
sub edx, eax
add ecx, 1
sar edx, 3
cmp ecx, edx
mov dword [esp + 0x70], ecx
jb 0x10082960
mov dword [edi + 0x50], ebx
mov bh, bh
mov dword [edi + 0x54], ebp
mov edx, edx
mov dword [esp + 0x68], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.1005ba20
jmp 0x10082a00
add dword [ebx], esi
mov bl, bl
mov eax, dword [esp + 0x78]
add dword [ebp], eax
mov cl, cl
mov ecx, dword [ebp]
mov edx, dword [ebx]
push ecx
push edx
push edi
call fcn.1007d2f0
add esp, 0xc
mov eax, eax
mov eax, 1
add dword [edi + 0x336c], eax
mov al, al
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret