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

Disassembly:
push 0xffffffffffffffff
push 0x471b1b
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48ea40]
xor eax, esp
push eax
lea eax, [esp + 0x60]
mov dword fs:[0], eax
mov ebx, ecx
cmp byte [esp + 0x7c], 0
mov byte [esp + 0x16], 0
mov byte [esp + 0x17], 0
je 0x41f459
lea ecx, [ebx + 0xdb94]
call fcn.0041ea40
xor edi, edi
jmp 0x41f46e
xor edi, edi
cmp dword [ebx + 0xdba0], edi
jne 0x41f46e
lea ecx, [ebx + 0xdb94]
call fcn.0041ea40
cmp dword [ebx + 0xdb90], edi
jne 0x41f51a
mov dword [esp + 0x7c], edi
mov edi, edi
push 0xc
call fcn.0045c2ef
mov esi, eax
add esp, 4
mov dword [esp + 0x34], esi
cmp esi, edi
mov dword [esp + 0x68], edi
je 0x41f4a9
mov ecx, esi
call fcn.004446b0
mov dword [esi + 4], eax
mov dword [esi + 8], edi
mov eax, esi
jmp 0x41f4ab
xor eax, eax
cmp eax, edi
mov dword [esp + 0x68], 0xffffffff
je 0x41f506
mov edi, dword [ebx + 0xdb8c]
mov ecx, dword [edi + 4]
lea esi, [ebx + 0xdb88]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
push eax
push ecx
push edi
mov ecx, esi
call fcn.0041ead0
push 1
mov ecx, esi
mov ebp, eax
call fcn.0041f230
mov edx, dword [esp + 0x7c]
push edx
push str.._vncdesktop.cpp_:__PixelsGrid__d_created___n
mov dword [edi + 4], ebp
mov eax, dword [ebp + 4]
push 9
push 0x490660
mov dword [eax], ebp
call fcn.00401810
add esp, 0x10
xor edi, edi
mov eax, dword [esp + 0x7c]
add eax, 1
cmp eax, 0x28
mov dword [esp + 0x7c], eax
jl 0x41f480
mov ebp, dword [esp + 0x78]
mov ecx, dword [ebx + 0xdb8c]
mov ecx, dword [ecx]
mov eax, ebp
shl eax, 5
cdq
and edx, 3
add eax, edx
lea edi, [ebx + 0xdb88]
sar eax, 2
add eax, dword [ebx + 0xdba0]
mov esi, ecx
je 0x41f564
mov dword [esp + 0x7c], eax
test edi, edi
jne 0x41f551
call fcn.0045cf74
cmp esi, dword [edi + 4]
jne 0x41f55b
call fcn.0045cf74
sub dword [esp + 0x7c], 1
mov esi, dword [esi]
jne 0x41f548
test edi, edi
jne 0x41f56d
call fcn.0045cf74
cmp esi, dword [edi + 4]
jne 0x41f577
call fcn.0045cf74
cmp esi, dword [edi + 4]
mov eax, dword [esi + 8]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
jne 0x41f591
call fcn.0045cf74
test ebp, ebp
mov esi, dword [esi + 8]
mov dword [esp + 0x7c], esi
je 0x41f5a1
cmp ebp, 4
jne 0x41f5a6
mov byte [esp + 0x17], 1
cmp dword [esi + 8], 0
jne 0x41f5b1
mov byte [esp + 0x16], 1
mov edx, dword [ebx + 0xdba0]
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 4]
add edx, edx
add edx, edx
cmp ecx, dword [eax + 0xc]
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], ecx
jge 0x41f890
mov ebp, dword [eax]
cmp ebp, dword [eax + 8]
lea edi, [ecx + edx]
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], ebp
jge 0x41f880
add ebp, edx
mov dword [esp + 0x1c], ebp
call fcn.0043c700
cmp byte [esp + 0x16], 0
push edi
push ebp
je 0x41f650
cmp eax, 2
jne 0x41f60b
mov ecx, ebx
call fcn.0041b5f0
jmp 0x41f618
mov eax, dword [ebx + 0xdbcc]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
mov ecx, dword [esp + 0x7c]
mov esi, dword [ecx + 4]
lea edx, [esp + 0x78]
mov dword [esp + 0x78], eax
mov eax, dword [esi + 4]
push edx
push eax
push esi
call fcn.0041ead0
mov ecx, dword [esp + 0x7c]
push 1
mov edi, eax
call fcn.0041f370
mov dword [esi + 4], edi
mov ecx, dword [edi + 4]
mov dword [ecx], edi
mov edi, dword [esp + 0x18]
jmp 0x41f855
cmp eax, 2
jne 0x41f65e
mov ecx, ebx
call fcn.0041b5f0
jmp 0x41f66b
mov edx, dword [ebx + 0xdbcc]
push edx
call dword [sym.imp.GDI32.dll_GetPixel]
cmp dword [esp + 0x38], 0
mov esi, eax
jne 0x41f679
call fcn.0045cf74
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
cmp ecx, dword [eax + 4]
jne 0x41f68b
call fcn.0045cf74
mov eax, dword [esp + 0x3c]
cmp dword [eax + 8], esi
je 0x41f839
mov edx, dword [esp + 0x38]
cmp eax, dword [edx + 4]
jne 0x41f6a6
call fcn.0045cf74
mov eax, dword [esp + 0x3c]
mov dword [eax + 8], esi
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push edi
push ebp
mov dword [esp + 0x34], eax
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0xdb98]
mov eax, dword [eax]
lea esi, [ebx + 0xdb94]
mov edi, eax
test esi, esi
mov ebp, dword [esi + 4]
je 0x41f6de
cmp esi, esi
je 0x41f6e3
call fcn.0045cf74
cmp edi, ebp
je 0x41f715
test esi, esi
jne 0x41f6f0
call fcn.0045cf74
cmp edi, dword [esi + 4]
jne 0x41f6fa
call fcn.0045cf74
mov ecx, dword [esp + 0x78]
cmp dword [edi + 8], ecx
je 0x41f831
cmp edi, dword [esi + 4]
jne 0x41f711
call fcn.0045cf74
mov edi, dword [edi]
jmp 0x41f6d3
mov eax, dword [esp + 0x78]
cmp eax, dword [esp + 0x2c]
je 0x41f831
lea edx, [esp + 0x40]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x41f831
mov eax, dword [ebx + 0x6c]
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
sub ecx, eax
sub ebp, eax
mov eax, dword [ebx + 0x70]
sub dword [esp + 0x4c], eax
sub edx, eax
mov eax, dword [ebx + 0xa8]
cmp ecx, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], edx
jg 0x41f76b
mov ecx, eax
mov edi, dword [ebx + 0xac]
cmp edx, edi
mov dword [esp + 0x50], ecx
jg 0x41f77b
mov edx, edi
mov edi, dword [ebx + 0xb0]
cmp ebp, edi
mov dword [esp + 0x54], edx
jl 0x41f78b
mov ebp, edi
mov edi, dword [ebx + 0xb4]
mov eax, dword [esp + 0x4c]
cmp eax, edi
mov dword [esp + 0x58], ebp
jge 0x41f79f
mov edi, eax
cmp ecx, ebp
mov dword [esp + 0x5c], edi
jge 0x41f831
cmp edx, edi
jge 0x41f831
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x24]
call fcn.00407370
mov edi, dword [esp + 0x70]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x34]
push edx
mov ecx, edi
mov dword [esp + 0x70], 1
call fcn.00407200
push eax
mov ecx, edi
mov byte [esp + 0x6c], 2
call fcn.00407390
lea ecx, [esp + 0x30]
mov byte [esp + 0x68], 1
call fcn.004070e0
lea ecx, [esp + 0x20]
mov dword [esp + 0x68], 0xffffffff
call fcn.004070e0
mov edi, dword [esi + 4]
mov ecx, dword [edi + 4]
lea eax, [esp + 0x78]
push eax
push ecx
push edi
mov ecx, esi
call fcn.0041ead0
push 1
mov ecx, esi
mov ebp, eax
call fcn.0041f2d0
mov dword [edi + 4], ebp
mov edx, dword [ebp + 4]
mov dword [edx], ebp
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
cmp eax, dword [ecx + 4]
jne 0x41f84b
call fcn.0045cf74
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x74]
add eax, 0x20
add ebp, 0x20
cmp eax, dword [ecx + 8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x1c], ebp
jl 0x41f5ef
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x74]
add ecx, 0x20
cmp ecx, dword [eax + 0xc]
mov dword [esp + 0x28], ecx
jl 0x41f5d3
cmp byte [esp + 0x17], 0
je 0x41f8b3
mov edx, dword [ebx + 0xdba0]
add edx, 1
and edx, 0x80000007
jns 0x41f8ad
dec edx
or edx, 0xfffffff8
inc edx
mov dword [ebx + 0xdba0], edx
mov ecx, dword [esp + 0x60]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x58
ret 0x10