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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov edx, dword [ebp + 0xc]
mov eax, 0x201
cmp edx, eax
push ebx
push esi
ja 0x46efcb
je 0x46efad
cmp edx, 0x2c
ja 0x46ef0a
je 0x46eef7
mov eax, edx
sub eax, 5
je 0x46eedb
sub eax, 0xa
je 0x46eeba
dec eax
je 0x46eead
sub eax, 4
je 0x46ee9d
sub eax, 0xc
je 0x46ee6b
sub eax, 0xb
jne 0x46f134
push dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x6c]
jmp 0x46f27b
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x38]
test eax, eax
je 0x46ee84
push eax
call dword [sym.imp.USER32.dll_SetCursor]
xor eax, eax
inc eax
jmp 0x46f27d
mov edx, dword [ebp + 0x14]
mov eax, dword [ecx]
shr edx, 0x10
push edx
movzx edx, word [ebp + 0x14]
push edx
push dword [ebp + 0x10]
call dword [eax + 0x40]
jmp 0x46f27d
mov ecx, dword [ebp + 8]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x20]
jmp 0x46f27d
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
call dword [eax + 0x1c]
jmp 0x46f27b
mov ecx, dword [ebp + 8]
test byte [ecx + 0x44], 2
je 0x46eed1
push dword [ecx + 0x18]
call fcn.0046ede3
pop ecx
jmp 0x46f27b
mov eax, dword [ecx]
call dword [eax + 0x14]
jmp 0x46f27b
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
shr edx, 0x10
push edx
movzx edx, word [ebp + 0x14]
push edx
push dword [ebp + 0x10]
call dword [eax + 0x3c]
jmp 0x46f27b
push dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x60]
jmp 0x46f27b
mov eax, edx
sub eax, 0x83
je 0x46ef9a
dec eax
je 0x46ef7f
dec eax
je 0x46ef5d
sub eax, 0x8e
je 0x46ef4d
sub eax, 0xed
jne 0x46f134
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
push dword [ebp + 0x10]
call dword [esi + 0x24]
jmp 0x46f27b
mov ecx, dword [ebp + 8]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x44]
jmp 0x46f27b
mov esi, dword [ebp + 8]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x54]
push dword [ebp + 0x14]
mov eax, dword [esi]
push dword [ebp + 0x10]
push 0x85
push dword [esi + 0x18]
call dword [eax + 4]
jmp 0x46f27b
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
call dword [esi + 0x38]
jmp 0x46f27d
push dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x64]
jmp 0x46f27b
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
push dword [ebp + 0x10]
call dword [esi + 0x28]
jmp 0x46f27b
mov eax, 0x459
cmp edx, eax
ja 0x46f113
je 0x46f0fa
mov eax, edx
sub eax, 0x202
je 0x46f0dc
dec eax
dec eax
je 0x46f0be
dec eax
je 0x46f0a0
sub eax, 0x243
je 0x46f090
dec eax
je 0x46f031
sub eax, 3
jne 0x46f134
mov eax, dword [ebp + 8]
xor ebx, ebx
push ebx
push ebx
push 0x2a3
mov dword [0x4a6b0c], ebx
push dword [eax + 0x18]
call dword [sym.imp.USER32.dll_SendMessageW]
jmp 0x46f27b
mov esi, dword [ebp + 8]
push dword [esi + 0x18]
lea ecx, [ebp - 8]
call fcn.00401022
lea eax, [ebp - 0x18]
xor ebx, ebx
push eax
push dword [esi + 0x18]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x14]
add eax, ecx
mov ecx, dword [ebp - 0x10]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x18]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push dword [ebp - 8]
call dword [sym.imp.GDI32.dll_GetPixel]
lea ecx, [ebp - 8]
mov esi, eax
call fcn.0040103b
mov eax, esi
jmp 0x46f27d
mov ecx, dword [ebp + 8]
push dword [ebp + 0x10]
mov eax, dword [ecx]
call dword [eax + 0x70]
jmp 0x46f27d
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
push dword [ebp + 0x10]
call dword [esi + 0x34]
jmp 0x46f27b
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
push dword [ebp + 0x10]
call dword [esi + 0x30]
jmp 0x46f27b
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 8]
mov esi, dword [ecx]
movsx edx, ax
shr eax, 0x10
movsx eax, ax
push eax
push edx
push dword [ebp + 0x10]
call dword [esi + 0x2c]
jmp 0x46f27b
mov ecx, dword [ebp + 8]
cmp dword [ebp + 0x10], ecx
jne 0x46ee7c
push dword [ebp + 0x14]
call fcn.0046edb4
jmp 0x46f27d
mov eax, edx
sub eax, 0x45b
je 0x46f1c1
sub eax, 0xb7be
je 0x46f191
sub eax, 0x12
je 0x46f181
dec eax
je 0x46f171
sub eax, 0x22
je 0x46f14b
push dword [ebp + 0x14]
mov eax, dword [ebp + 8]
push dword [ebp + 0x10]
mov ecx, dword [eax]
push edx
push dword [eax + 0x18]
call dword [ecx + 4]
jmp 0x46f27d
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
and dword [ebp + 0xc], 0
lea eax, [ebp + 0xc]
push eax
mov eax, dword [ebp + 0x14]
push eax
push dword [ebp + 0x10]
push dword [eax + 8]
call dword [edx + 0x78]
neg eax
sbb eax, eax
and eax, dword [ebp + 0xc]
jmp 0x46f27d
mov ecx, dword [ebp + 8]
push dword [ebp + 0x14]
mov eax, dword [ecx]
call dword [eax + 0x5c]
jmp 0x46f27b
mov ecx, dword [ebp + 8]
push dword [ebp + 0x14]
mov eax, dword [ecx]
call dword [eax + 0x68]
jmp 0x46f27b
push dword [ebp + 0x14]
mov esi, dword [ebp + 8]
push dword [ebp + 0x10]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x4c]
test eax, eax
jne 0x46f27d
push dword [ebp + 0x14]
mov eax, dword [esi]
push dword [ebp + 0x10]
push 0xbc19
push dword [esi + 0x18]
call dword [eax + 4]
jmp 0x46f27d
mov esi, dword [ebp + 8]
cmp dword [ebp + 0x10], esi
je 0x46f1d6
cmp dword [ebp + 0x10], 0x4a5f08
jne 0x46f27b
xor ebx, ebx
cmp byte [esi + 0x35], 2
jne 0x46f1f0
cmp dword [esi + 0x78], ebx
jne 0x46f1f0
push 0x10000000
push esi
call fcn.00473327
pop ecx
pop ecx
cmp byte [esi + 0x35], 2
push edi
jne 0x46f1fe
mov edi, dword [esi + 0x78]
cmp edi, ebx
jne 0x46f200
mov edi, esi
mov esi, dword [ebp + 0x14]
mov eax, dword [esi]
cmp eax, 0xfbd3e280
mov dword [ebp + 8], eax
jl 0x46f215
fild dword [ebp + 8]
fstp dword [edi + 0x24]
mov ecx, dword [esi + 4]
mov eax, 0x80000000
cmp ecx, eax
je 0x46f224
mov dword [edi + 0x28], ecx
mov ecx, dword [esi + 8]
cmp ecx, eax
je 0x46f22e
mov dword [edi + 0x2c], ecx
mov ecx, dword [esi + 0xc]
cmp ecx, eax
je 0x46f238
mov dword [edi + 0x30], ecx
mov eax, dword [esi + 0x10]
cmp eax, ebx
je 0x46f249
push eax
push dword [edi + 0x18]
call dword [sym.imp.USER32.dll_SetWindowTextW]
test byte [esi + 0x15], 0x80
je 0x46f25d
mov al, byte [esi + 0x14]
xor al, byte [edi + 0x34]
and al, 0x7f
xor al, byte [esi + 0x14]
mov byte [edi + 0x34], al
test byte [esi + 0x15], 0x7f
je 0x46f26e
mov al, byte [esi + 0x14]
xor al, byte [edi + 0x34]
and al, 0x7f
xor byte [edi + 0x34], al
push 1
push ebx
push dword [edi + 0x18]
call dword [sym.imp.USER32.dll_InvalidateRect]
pop edi
xor eax, eax
pop esi
pop ebx
leave
ret 0x10