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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xec
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea eax, [esp + 0xa4]
push eax
mov dword [esp + 0xa8], 0x14
call dword [sym.imp.USER32.dll_GetCursorInfo]
mov edx, dword [esp + 0xac]
lea ecx, [esp + 0x64]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetIconInfo]
mov eax, dword [ebx + 0xd6]
mov esi, dword [ebx + 0xd2]
push 0x2c
xor edi, edi
lea ecx, [esp + 0x7c]
push edi
push ecx
mov dword [esp + 0x24], eax
call fcn.006a1300
mov eax, dword [esp + 0x80]
add esp, 0xc
cmp eax, edi
mov dword [esp + 0x78], 0x28
je 0x635c2b
push edi
lea edx, [esp + 0x7c]
push edx
push edi
push edi
push edi
push eax
mov eax, dword [ebx + 0xde]
push eax
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
je 0x635fef
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov dword [ebx + 0xd2], ecx
mov dword [ebx + 0xd6], edx
jmp 0x635c72
mov eax, dword [esp + 0x70]
cmp eax, edi
je 0x635fef
mov edx, dword [ebx + 0xde]
push edi
lea ecx, [esp + 0x7c]
push ecx
push edi
push edi
push edi
push eax
push edx
call dword [sym.imp.GDI32.dll_GetDIBits]
test eax, eax
je 0x635fef
mov eax, dword [esp + 0x7c]
mov dword [ebx + 0xd2], eax
mov eax, dword [esp + 0x80]
cdq
sub eax, edx
sar eax, 1
mov dword [ebx + 0xd6], eax
lea ecx, [ebx + 0x82]
call fcn.004d1530
test al, al
jne 0x635c85
xor eax, eax
jmp 0x635ca6
mov eax, dword [ebx + 0xc2]
cmp eax, edi
jne 0x635c93
xor eax, eax
jmp 0x635ca6
cmp dword [ebx + 0xba], 1
jne 0x635ca3
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
jmp 0x635ca6
mov eax, dword [eax + 4]
mov ecx, dword [ebx + 0xd2]
cmp esi, ecx
mov dword [esp + 0x10], eax
jne 0x635cd0
mov edx, dword [esp + 0x18]
cmp edx, dword [ebx + 0xd6]
jne 0x635cd0
cmp dword [ebx + 0xe2], edi
je 0x635cd0
cmp eax, edi
jne 0x635dc7
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0xd6]
neg eax
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xe6]
cmp eax, edi
mov dword [esp + 0x28], 0x28
mov dword [esp + 0x2c], ecx
mov word [esp + 0x34], 1
mov word [esp + 0x36], 0x20
je 0x635d3a
mov ecx, dword [ebx + 0xda]
push eax
push ecx
call esi
mov eax, dword [ebx + 0xe2]
cmp eax, edi
je 0x635d4b
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebx + 0xde]
push edi
push edi
lea edx, [esp + 0x18]
push edx
push edi
lea eax, [esp + 0x38]
push eax
push ecx
mov dword [esp + 0x28], edi
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov edx, dword [ebx + 0xda]
push eax
push edx
mov dword [ebx + 0xe2], eax
call esi
mov dword [ebx + 0xe6], eax
mov eax, dword [ebx + 0xd6]
push eax
lea ecx, [esp + 0xbc]
push ecx
mov ecx, dword [ebx + 0xd2]
xor eax, eax
call fcn.004d3de0
push 0x11
call fcn.0069e704
add esp, 4
cmp eax, edi
jne 0x635f04
call fcn.004b05b0
xor eax, eax
push eax
lea ecx, [esp + 0xbc]
lea eax, [ebx + 0x82]
call fcn.004d10f0
mov edx, dword [ebx + 0xd]
mov eax, dword [ebx + 9]
mov ecx, dword [ebx + 0x7e]
sub ecx, dword [ebx + 0x76]
push edx
mov edx, dword [ebx + 0x7a]
sub edx, dword [ebx + 0x72]
push eax
push ecx
push edx
lea esi, [esp + 0x28]
lea edi, [esp + 0x24]
call fcn.004d3ba0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
lea edx, [ebx + 0x72]
mov dword [ebx + 0x142], eax
mov dword [ebx + 0x146], ecx
mov eax, dword [edx + 8]
sub eax, dword [edx]
je 0x635fef
mov ecx, dword [edx + 0xc]
sub ecx, dword [edx + 4]
je 0x635fef
mov eax, dword [ebx + 0xd2]
mov ecx, dword [ebx + 0xd6]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x18]
push ecx
xor edi, edi
push edi
lea eax, [esp + 0x60]
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], edi
call fcn.005fc8d0
mov ecx, dword [ebx + 0xde]
push ecx
lea edx, [esp + 0x68]
lea esi, [ebx + 0x82]
push edx
mov eax, esi
call fcn.006354f0
test al, al
je 0x635fef
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
sub ecx, dword [esp + 0x14]
push 1
push 1
push eax
push ecx
lea eax, [ebx + 0xea]
push esi
call fcn.004ce8c0
mov esi, dword [ebx + 0x8a]
mov eax, dword [ebx + 0xc6]
mov edx, dword [ebx + 0x86]
sub esi, 1
cmp esi, edi
mov dword [esp + 0x24], edx
mov dword [esp + 0x14], eax
mov dword [ebx + 0x13e], edi
mov dword [ebx + 0x13a], edi
jle 0x635f4a
mov edi, esi
imul edi, eax
neg eax
mov dword [esp + 0xc], eax
mov edi, edi
lea ecx, [ebx + 0x82]
call fcn.004d14f0
mov edx, dword [esp + 0x24]
add eax, edi
xor ecx, ecx
test edx, edx
jle 0x635ef7
test dword [eax + ecx*4], 0xff000000
jne 0x635f24
add ecx, 1
cmp ecx, edx
jl 0x635ee7
add edi, dword [esp + 0xc]
sub esi, 1
test esi, esi
jg 0x635ed0
jmp 0x635f48
mov ecx, dword [esp + 0x10]
mov dword [eax + 8], 1
mov byte [eax + 0xc], 0
mov dword [eax], 0x723128
mov dword [eax + 0xd], edi
mov dword [eax + 4], ecx
jmp 0x635db4
mov eax, dword [ebx + 0x13a]
cmp eax, ecx
jle 0x635f30
mov ecx, eax
mov eax, dword [ebx + 0x13e]
cmp eax, esi
mov dword [ebx + 0x13a], ecx
jg 0x635f42
mov eax, esi
mov dword [ebx + 0x13e], eax
xor edi, edi
cmp dword [ebx + 0x13e], 0
jle 0x635fef
mov dword [esp + 0xc], 0
nop
lea esi, [ebx + 0x82]
mov ecx, esi
call fcn.004d1530
test al, al
jne 0x635f75
xor eax, eax
jmp 0x635f87
mov eax, dword [esi + 0x40]
test eax, eax
je 0x635f87
cmp dword [esi + 0x38], 1
mov eax, dword [eax + 4]
jne 0x635f87
mov eax, dword [eax]
mov esi, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
lea ecx, [esi + eax]
mov eax, dword [ebx + 0x13a]
cmp eax, edx
mov dword [esp + 0xc], ecx
jge 0x635fd8
mov ecx, dword [esp + 0xc]
test dword [ecx + eax*4], 0xff000000
je 0x635fd1
mov ecx, dword [ebx + 0x13a]
cmp ecx, eax
jg 0x635fb9
mov ecx, eax
mov dword [ebx + 0x13a], ecx
mov ecx, dword [ebx + 0x13e]
cmp ecx, edi
jg 0x635fcb
mov ecx, edi
mov dword [ebx + 0x13e], ecx
add eax, 1
cmp eax, edx
jl 0x635fa0
add esi, dword [esp + 0x14]
add edi, 1
cmp edi, dword [ebx + 0x13e]
mov dword [esp + 0xc], esi
jl 0x635f60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4