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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x55c3ae
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5bc9cc]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [edi + 0x7c], 0
jne 0x486c2b
xor eax, eax
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x1dc], 0
je 0x486c15
mov eax, dword [edi + 0x80]
test eax, eax
je 0x486c15
mov ecx, dword [eax + 0xf0]
shr ecx, 9
and ecx, 1
mov dword [edi + 0x4fc], ecx
mov edx, dword [eax + 0xf0]
shr edx, 0x19
and edx, 1
mov dword [edi + 0x500], edx
mov ecx, dword [eax + 0xf0]
shr ecx, 0xb
and ecx, 1
mov dword [edi + 0x504], ecx
mov eax, dword [eax + 0xf0]
shr eax, 0x1a
and eax, 1
or edx, eax
cmp dword [edi + 0x4fc], 0
mov dword [edi + 0x508], eax
mov dword [edi + 0x50c], edx
je 0x486cfb
xor eax, eax
lea esp, [esp]
cmp dword [eax*8 + 0x5c0500], 0
mov ecx, 0xfa2
je 0x486cb9
add eax, 1
cmp eax, 9
jb 0x486ca0
jmp 0x486cc0
mov dword [eax*8 + 0x5c0504], ecx
xor eax, eax
cmp dword [eax*8 + 0x5c0548], 0
je 0x486cd6
add eax, 1
cmp eax, 3
jb 0x486cc2
jmp 0x486cdd
mov dword [eax*8 + 0x5c054c], ecx
xor eax, eax
nop
cmp dword [eax*8 + 0x5c0560], 0
je 0x486cf4
add eax, 1
cmp eax, 3
jb 0x486ce0
jmp 0x486cfb
mov dword [eax*8 + 0x5c0564], ecx
cmp dword [edi + 0x4fc], 0
mov eax, 0x1e7
lea ebp, [eax - 0x62]
je 0x486d11
lea eax, [ebp + 0x7a]
jmp 0x486d22
cmp dword [edi + 0x500], 0
je 0x486d22
mov eax, 0x227
lea ebp, [eax + 2]
lea ebx, [edi + 0x84]
push ebx
lea esi, [edi + 0x1e0]
push eax
call fcn.0046abd0
push ebx
lea esi, [edi + 0x288]
push ebp
call fcn.0046abd0
lea ebp, [edi + 0x330]
xor esi, esi
cmp dword [ebp + 0x58], esi
je 0x486d7e
mov eax, dword [ebp + 0x58]
cmp eax, esi
je 0x486d7e
push eax
mov dword [ebp + 0x58], esi
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x60], esi
mov dword [ebp + 0x64], esi
mov dword [ebp + 0x6c], esi
mov dword [ebp + 0x68], esi
mov dword [ebp + 0x74], 0xffffffff
mov byte [ebp + 0x71], 0
mov byte [ebp + 0x70], 0
call dword [sym.imp.GDI32.dll_DeleteObject]
call fcn.0050b8e1
mov eax, dword [eax + 8]
push 1
push 0xce
lea ecx, [ebp + 0x54]
push ecx
call fcn.00443e90
mov edx, dword [ebp + 0x20]
push 0x101
push esi
push esi
push edx
mov dword [ebp + 0x88], ebx
call dword [sym.imp.USER32.dll_RedrawWindow]
push esi
push esi
push 0x400000
lea ecx, [edi + 0x1e0]
call fcn.0050a02c
push esi
push esi
push 0x400000
lea ecx, [edi + 0x288]
call fcn.0050a02c
push esi
push esi
push 0x400000
lea ecx, [edi + 0x510]
call fcn.0050a02c
push 0x8ac
call fcn.00503623
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0x68], esi
je 0x486e04
push eax
call fcn.004889c0
jmp 0x486e06
xor eax, eax
mov dword [esp + 0x68], 0xffffffff
mov dword [edi + 0x490], eax
mov ebx, 1
push 0x66c
mov dword [eax + 0x1f0], ebx
call fcn.00503623
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0x68], ebx
je 0x486e40
push eax
call fcn.00487d90
jmp 0x486e42
xor eax, eax
or ebx, 0xffffffff
mov dword [esp + 0x68], ebx
mov dword [edi + 0x498], eax
push 0x668
mov dword [eax + 0x1f0], esi
call fcn.00503623
add esp, 4
mov dword [esp + 0x18], eax
cmp eax, esi
mov dword [esp + 0x68], 2
je 0x486e7a
push eax
call fcn.00482e50
jmp 0x486e7c
xor eax, eax
cmp ebp, esi
mov dword [esp + 0x68], ebx
mov ebx, dword [sym.imp.USER32.dll_GetWindowRect]
mov dword [edi + 0x49c], eax
mov dword [eax + 0x1f0], 0xb
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
je 0x486ec1
mov ecx, dword [ebp + 0x20]
lea eax, [esp + 0x4c]
push eax
push ecx
call ebx
lea edx, [esp + 0x4c]
push edx
mov ecx, edi
call fcn.0050c13a
lea eax, [edi + 0x438]
cmp eax, esi
je 0x486ee2
mov edx, dword [eax + 0x20]
lea ecx, [esp + 0x3c]
push ecx
push edx
call ebx
lea eax, [esp + 0x3c]
push eax
mov ecx, edi
call fcn.0050c13a
fld qword [0x5c1028]
fmul qword [0x587560]
call fcn.00530bd0
fld qword [0x5c1020]
fmul qword [0x587698]
mov ebp, dword [esp + 0x48]
sub ebp, eax
call fcn.00530bd0
mov ecx, dword [esp + 0x4c]
push esi
push esi
sub ecx, eax
push ebp
push ecx
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.USER32.dll_SetRect]
lea ebp, [edi + 0x490]
mov dword [esp + 0x18], 5
lea ecx, [ecx]
mov esi, dword [ebp]
test esi, esi
je 0x486fb5
mov ebx, dword [esi]
mov edx, dword [ebx + 0x15c]
push edi
mov ecx, esi
mov dword [esi + 0x74], edi
call edx
push eax
mov eax, dword [ebx + 0x134]
mov ecx, esi
call eax
test eax, eax
je 0x4870bf
mov edx, dword [esi + 0x20]
lea ecx, [esp + 0x2c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
push 1
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
add eax, edx
mov edx, dword [esp + 0x38]
add edx, ecx
push eax
push edx
mov ecx, esi
call fcn.0050a0b2
mov eax, dword [edi + 0x80]
mov ecx, dword [ebp]
mov dword [ecx + 0x80], eax
mov ecx, dword [ebp]
mov eax, dword [ecx]
mov edx, dword [edi + 0x1dc]
mov eax, dword [eax + 0x160]
push edx
call eax
add ebp, 4
sub dword [esp + 0x18], 1
jne 0x486f30
cmp dword [edi + 0x50c], 0
je 0x486fd9
push 0
lea ecx, [edi + 0x438]
call fcn.0050a0f0
mov ecx, dword [edi + 0x78]
mov edx, dword [ecx]
lea eax, [edi + 0x78]
push 0
push eax
call edx
mov eax, dword [edi + 0x80]
mov dword [edi + 0xc0], edi
mov esi, dword [eax + 0x10]
test esi, esi
je 0x48701a
mov eax, esi
lea ecx, [edi + 0xc4]
lea ebx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x487004
sub eax, ebx
sar eax, 1
push eax
push esi
call fcn.00402fc0
lea esi, [edi + 0xd8]
push 0x56df44
mov ecx, esi
call fcn.0050bb0d
push 0x56f184
mov ecx, esi
call fcn.0050bb0d
push 0x56f198
mov ecx, esi
call fcn.0050bb0d
push 0x56fc9c
mov ecx, esi
call fcn.0050bb0d
push 0x56fcc4
mov ecx, esi
call fcn.0050bb0d
push 0x56fcd8
mov ecx, esi
call fcn.0050bb0d
push 0x56fcec
mov ecx, esi
call fcn.0050bb0d
push 0x56fd00
mov ecx, esi
call fcn.0050bb0d
push 0x56fd14
mov ecx, esi
call fcn.0050bb0d
mov eax, dword [edi + 0x80]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi - 0x10]
mov edx, dword [ecx]
add eax, 0x18
mov eax, dword [edx + 0x10]
sub esi, 0x10
call eax
cmp dword [esi + 0xc], 0
lea edx, [esi + 0xc]
jl 0x4870df
cmp eax, dword [esi]
jne 0x4870df
mov ebx, esi
mov ecx, 1
lock xadd dword [edx], ecx
jmp 0x48711b
mov ecx, dword [ebp]
test ecx, ecx
je 0x486fb5
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push 1
call edx
mov dword [ebp], 0
jmp 0x486fb5
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebx, eax
test ebx, ebx
jne 0x4870f8
jmp fcn.00450e40
mov eax, dword [esi + 4]
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
add esi, 0x10
lea edx, [eax + eax + 2]
push esi
push edx
lea eax, [ebx + 0x10]
push eax
call fcn.005297ad
add esp, 0x10
lea eax, [ebx + 0x10]
mov dword [esp + 0x18], eax
lea edx, [edi + 0x4a4]
mov dword [esp + 0x68], 3
mov ebx, dword [edx]
lea esi, [eax - 0x10]
sub ebx, 0x10
cmp esi, ebx
je 0x4871e1
cmp dword [ebx + 0xc], 0
jl 0x4871d5
mov ecx, dword [esi]
cmp ecx, dword [ebx]
jne 0x4871d5
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [esi + 0xc], 0
lea ecx, [esi + 0xc]
jl 0x487175
cmp eax, dword [esi]
jne 0x487175
mov ebp, esi
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4871b1
mov ecx, dword [esi + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
mov ebp, eax
test ebp, ebp
jne 0x48718e
jmp fcn.00450e40
mov eax, dword [esi + 4]
mov dword [ebp + 4], eax
mov eax, dword [esi + 4]
lea ecx, [eax + eax + 2]
push ecx
lea edx, [esi + 0x10]
push edx
lea eax, [eax + eax + 2]
push eax
lea ecx, [ebp + 0x10]
push ecx
call fcn.005297ad
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4871ca
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
add ebp, 0x10
mov dword [edi + 0x4a4], ebp
jmp 0x4871e1
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, edx
call fcn.00402fc0
mov dword [esp + 0x68], 0xffffffff
lea eax, [esi + 0xc]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x487202
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
lea esi, [edi + 0x4a4]
push esi
mov ecx, 0x56f184
call fcn.0046e2d0
push esi
mov ecx, 0x56f198
call fcn.0046e2d0
test esi, esi
je 0x48722e
push esi
lea ecx, [edi + 0x1b8]
call fcn.0050bb0d
mov eax, dword [edi + 0x1dc]
lea esi, [esp + 0x18]
call fcn.00483d80
lea esi, [edi + 0x4d0]
mov dword [esp + 0x68], 4
mov eax, dword [esp + 0x18]
mov ebx, dword [esi]
lea ebp, [eax - 0x10]
sub ebx, 0x10
cmp ebp, ebx
je 0x48730e
cmp dword [ebx + 0xc], 0
jl 0x4872fe
mov ecx, dword [ebp]
cmp ecx, dword [ebx]
jne 0x4872fe
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
cmp dword [ebp + 0xc], 0
lea ecx, [ebp + 0xc]
jl 0x487298
cmp eax, dword [ebp]
jne 0x487298
mov dword [esp + 0x14], ebp
mov edx, 1
lock xadd dword [ecx], edx
jmp 0x4872da
mov ecx, dword [ebp + 4]
mov edx, dword [eax]
mov edx, dword [edx]
push 2
push ecx
mov ecx, eax
call edx
test eax, eax
mov dword [esp + 0x14], eax
jne 0x4872b3
jmp fcn.00450e40
mov ecx, dword [ebp + 4]
mov eax, dword [esp + 0x14]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 4]
lea edx, [ecx + ecx + 2]
push edx
add ebp, 0x10
push ebp
lea ecx, [ecx + ecx + 2]
push ecx
add eax, 0x10
push eax
call fcn.005297ad
add esp, 0x10
lea eax, [ebx + 0xc]
or edx, 0xffffffff
lock xadd dword [eax], edx
dec edx
test edx, edx
jg 0x4872f3
mov ecx, dword [ebx]
mov eax, dword [ecx]
mov edx, dword [eax + 4]
push ebx
call edx
mov eax, dword [esp + 0x14]
add eax, 0x10
mov dword [esi], eax
jmp 0x48730a
mov ecx, dword [eax - 0xc]
push ecx
push eax
mov ecx, esi
call fcn.00402fc0
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
mov dword [esp + 0x68], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x487332
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push esi
mov ecx, 0x56fc9c
call fcn.0046e2d0
push esi
mov ecx, 0x56fcc4
call fcn.0046e2d0
push esi
mov ecx, 0x56fcec
call fcn.0046e2d0
push esi
mov ecx, 0x56fd00
call fcn.0046e2d0
push esi
mov ecx, 0x56fd14
call fcn.0046e2d0
test esi, esi
je 0x487379
push esi
lea ecx, [edi + 0x1b8]
call fcn.0050bb0d
mov eax, 1
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret