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

Disassembly:
push 0xffffffffffffffff
push 0x455adb
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
mov al, byte [esp + 0x68]
push ebx
push ebp
push esi
test al, al
push edi
mov esi, ecx
mov byte [esp + 0x12], 0
mov byte [esp + 0x13], 0
je 0x41370e
mov eax, dword [esi + 0xdb98]
lea ecx, [esi + 0xdb94]
push eax
mov edx, dword [eax]
lea eax, [esp + 0x7c]
push edx
push eax
call fcn.00417230
xor ebx, ebx
jmp 0x413737
mov eax, dword [esi + 0xdba0]
xor ebx, ebx
cmp eax, ebx
jne 0x413737
mov eax, dword [esi + 0xdb98]
lea ecx, [esi + 0xdb94]
push eax
mov edx, dword [eax]
push edx
lea edx, [esp + 0x80]
push edx
call fcn.00417230
mov eax, dword [esi + 0xdb90]
cmp eax, ebx
jne 0x4137bb
xor ebp, ebp
push 0xc
call fcn.00449d10
mov edi, eax
add esp, 4
mov dword [esp + 0x78], edi
cmp edi, ebx
mov dword [esp + 0x64], ebx
je 0x413772
mov al, byte [esp + 0x78]
push ebx
push ebx
mov ecx, edi
mov byte [edi], al
call fcn.004172d0
mov dword [edi + 4], eax
mov dword [edi + 8], ebx
jmp 0x413774
xor edi, edi
cmp edi, ebx
mov dword [esp + 0x64], 0xffffffff
je 0x4137b5
mov eax, dword [esi + 0xdb8c]
lea ecx, [esi + 0xdb88]
lea edx, [esp + 0x78]
mov dword [esp + 0x78], edi
push edx
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00417280
push ebp
push str.S:UltraVNCwinvncwinvnc_vncdesktop.cpp_:__PixelsGrid__d_created___n
push 9
push 0x46f3bc
call fcn.00405970
add esp, 0x10
inc ebp
cmp ebp, 0x28
jl 0x413743
mov edi, dword [esp + 0x74]
mov ebx, dword [esi + 0xdba0]
mov eax, edi
mov ecx, dword [esi + 0xdb8c]
shl eax, 5
cdq
mov ecx, dword [ecx]
and edx, 3
add eax, edx
mov dword [esp + 0x34], ebx
sar eax, 2
add eax, ebx
je 0x4137e8
mov ecx, dword [ecx]
dec eax
jne 0x4137e3
mov ecx, dword [ecx + 8]
test edi, edi
mov eax, dword [ecx + 4]
mov dword [esp + 0x24], ecx
mov edx, dword [eax]
mov dword [esp + 0x78], edx
je 0x413801
cmp edi, 4
jne 0x413806
mov byte [esp + 0x13], 1
mov eax, dword [ecx + 8]
test eax, eax
jne 0x413812
mov byte [esp + 0x12], 1
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0xc]
cmp ecx, edx
mov dword [esp + 0x20], ecx
jge 0x413a45
mov edi, dword [eax]
mov edx, dword [eax + 8]
lea ebp, [ecx + ebx*4]
cmp edi, edx
mov dword [esp + 0x18], ebp
mov dword [esp + 0x1c], edi
jge 0x413a33
lea ebx, [edi + ebx*4]
mov dword [esp + 0x74], ebx
mov al, byte [esp + 0x12]
push ebp
test al, al
push ebx
je 0x41387e
mov eax, dword [esi + 0xdbcc]
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
lea edx, [esp + 0x28]
mov eax, dword [ecx + 4]
push edx
push eax
lea eax, [esp + 0x40]
push eax
call fcn.00417280
jmp 0x413a0c
mov ecx, dword [esi + 0xdbcc]
push ecx
call dword [sym.imp.GDI32.dll_GetPixel]
mov ecx, dword [esp + 0x78]
cmp dword [ecx + 8], eax
je 0x4139fe
mov dword [ecx + 8], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
push ebp
push ebx
mov edi, eax
call dword [sym.imp.USER32.dll_WindowFromPoint]
mov ecx, dword [esi + 0xdb98]
mov edx, eax
mov dword [esp + 0x30], edx
mov eax, dword [ecx]
cmp eax, ecx
je 0x4138cc
cmp dword [eax + 8], edx
je 0x4139fe
mov eax, dword [eax]
cmp eax, ecx
jne 0x4138bd
cmp edx, edi
je 0x4139fe
lea eax, [esp + 0x3c]
push eax
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
test eax, eax
je 0x4139fe
mov eax, dword [esi + 0x6c]
mov ecx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x48]
sub ecx, eax
sub ebp, eax
mov eax, dword [esi + 0x70]
sub edx, eax
sub ebx, eax
mov eax, dword [esi + 0xa8]
mov dword [esp + 0x3c], ecx
cmp ecx, eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x40], edx
mov dword [esp + 0x48], ebx
jle 0x413922
mov eax, ecx
mov edi, dword [esi + 0xac]
cmp edx, edi
jg 0x41392e
mov edx, edi
mov edi, dword [esi + 0xb0]
cmp ebp, edi
jl 0x41393a
mov ebp, edi
mov edi, dword [esi + 0xb4]
cmp ebx, edi
jge 0x413946
mov edi, ebx
cmp eax, ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], edi
jge 0x4139f6
cmp edx, edi
jge 0x4139f6
lea ecx, [esp + 0x4c]
push ecx
lea ecx, [esp + 0x18]
call fcn.004031d0
mov edi, dword [esp + 0x6c]
lea edx, [esp + 0x14]
lea eax, [esp + 0x2c]
push edx
push eax
mov ecx, edi
mov dword [esp + 0x6c], 1
call fcn.004033b0
push eax
mov ecx, edi
mov byte [esp + 0x68], 2
call fcn.00403240
lea ecx, [esp + 0x2c]
mov byte [esp + 0x64], 1
call fcn.00403230
lea ecx, [esp + 0x14]
mov dword [esp + 0x64], 0xffffffff
call fcn.00403230
mov edi, dword [esi + 0xdb98]
push 0xc
mov ebp, dword [edi + 4]
call fcn.00449d10
add esp, 4
mov dword [eax], edi
test ebp, ebp
jne 0x4139d8
mov ebp, eax
mov dword [eax + 4], ebp
mov dword [edi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
add eax, 8
test eax, eax
je 0x4139f0
mov edx, dword [esp + 0x30]
mov dword [eax], edx
inc dword [esi + 0xdb9c]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0x1c]
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
mov edx, dword [esp + 0x70]
add edi, 0x20
add ebx, 0x20
mov dword [esp + 0x1c], edi
mov eax, dword [edx + 8]
mov dword [esp + 0x74], ebx
cmp edi, eax
jl 0x413847
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x20]
mov eax, edx
mov edx, dword [eax + 0xc]
add ecx, 0x20
cmp ecx, edx
mov dword [esp + 0x20], ecx
jl 0x413828
mov al, byte [esp + 0x13]
test al, al
je 0x413a66
mov eax, dword [esi + 0xdba0]
inc eax
and eax, 0x80000007
jns 0x413a60
dec eax
or eax, 0xfffffff8
inc eax
mov dword [esi + 0xdba0], eax
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x58
ret 0x10