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

Disassembly:
push 0xffffffffffffffff
push 0x45a768
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x54
push ebx
xor ebx, ebx
push ebx
lea eax, [esp + 0x24]
push eax
push ebx
push 0x1024
mov dword [esp + 0x30], ebx
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
test eax, eax
je 0x418aef
cmp dword [esp + 0x20], ebx
jne 0x419165
push ebp
push esi
push edi
mov edi, dword [esp + 0x74]
lea ecx, [esp + 0x54]
push ecx
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0x54]
mov ebp, dword [esp + 0x5c]
mov esi, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
lea edx, [esp + 0x30]
sub ebp, ecx
push edx
sub esi, eax
push edi
mov ecx, 0x475258
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x24], esi
mov dword [esp + 0x38], ebx
call fcn.004405c6
mov edi, dword [esp + 0x30]
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, edi
mov edi, dword [esp + 0x78]
push edi
call fcn.0044877c
lea ecx, [esp + 0x44]
mov dword [esp + 0x74], eax
call fcn.004483c3
mov eax, dword [esp + 0x74]
test eax, eax
mov dword [esp + 0x6c], 0
je 0x418b68
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x48]
call fcn.0044878a
add ebx, 0x1c
jne 0x418b82
xor ebx, ebx
jmp 0x418b85
mov ebx, dword [ebx + 4]
mov eax, dword [esp + 0x48]
push ebx
push eax
call fcn.00448b10
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov dword [esp + 0x10], ebx
call fcn.00416010
cmp eax, 0x100
jg 0x418d07
push 0x10
call dword [sym.imp.USER32.dll_GetSysColor]
push 0xcc0020
push 0
mov dword [esp + 0x7c], eax
lea eax, [ebp - 2]
push eax
push ebx
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
push esi
push 2
push 0
push eax
push edi
call ebx
mov ecx, dword [esp + 0x10]
push 0xcc0020
lea eax, [esi - 2]
push eax
push 0
push ecx
push 2
push ebp
push eax
push 0
push edi
call ebx
lea edx, [esi - 5]
lea eax, [esi - 4]
add esi, 0xfffffffd
mov dword [esp + 0x78], esi
mov esi, dword [sym.imp.GDI32.dll_SetPixel]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], eax
add ebp, 0xfffffffd
mov dword [esp + 0x28], 2
xor ebx, ebx
mov ecx, dword [esp + 0x10]
push ebx
push ebp
push ecx
call dword [sym.imp.GDI32.dll_GetPixel]
push eax
push ebx
push ebp
push edi
call esi
inc ebx
cmp ebx, 4
jl 0x418c14
mov ebx, 4
mov edx, dword [esp + 0x74]
push edx
push ebx
push ebp
push edi
call esi
inc ebx
cmp ebx, 8
jl 0x418c32
mov eax, dword [esp + 0x2c]
mov ebx, 8
cmp eax, ebx
jl 0x418c63
nop
mov eax, dword [esp + 0x74]
push eax
push ebx
push ebp
push edi
call esi
mov eax, dword [esp + 0x2c]
inc ebx
cmp ebx, eax
jle 0x418c50
mov ebx, dword [esp + 0x24]
cmp ebx, dword [esp + 0x78]
jg 0x418c83
lea ecx, [ecx]
mov ecx, dword [esp + 0x74]
push ecx
push ebx
push ebp
push edi
call esi
mov eax, dword [esp + 0x78]
inc ebx
cmp ebx, eax
jle 0x418c70
mov eax, dword [esp + 0x28]
dec ebp
dec eax
mov dword [esp + 0x28], eax
jne 0x418c12
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x78]
add edx, 0xfffffffb
mov dword [esp + 0x18], edx
mov dword [esp + 0x78], 2
xor ebp, ebp
mov eax, dword [esp + 0x10]
push ebx
push ebp
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
push eax
push ebx
push ebp
push edi
call esi
inc ebp
cmp ebp, 3
jle 0x418ca8
mov ebp, 4
mov ecx, dword [esp + 0x74]
push ecx
push ebx
push ebp
push edi
call esi
inc ebp
cmp ebp, 7
jle 0x418cc6
mov eax, dword [esp + 0x18]
mov ebp, 8
cmp eax, ebp
jl 0x418cf6
mov edx, dword [esp + 0x74]
push edx
push ebx
push ebp
push edi
call esi
mov eax, dword [esp + 0x18]
inc ebp
cmp ebp, eax
jle 0x418ce3
mov eax, dword [esp + 0x78]
dec ebx
dec eax
mov dword [esp + 0x78], eax
jne 0x418ca6
jmp 0x41913b
dec esi
mov dword [esp + 0x2c], esi
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [esp + 0x78], 1
mov dword [esp + 0x24], 6
mov dword [esp + 0x20], 0xfffffffa
dec ebp
mov dword [esp + 0x18], 0xe1
mov dword [esp + 0x28], 0xf9
jmp 0x418d40
xor ebx, ebx
mov eax, dword [esp + 0x10]
push ebx
push ebp
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
push eax
push ebx
push ebp
push edi
call dword [sym.imp.GDI32.dll_SetPixel]
inc ebx
cmp ebx, 4
jl 0x418d42
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x74], 4
mov dword [esp + 0x14], ecx
nop
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x10]
push edx
push ebp
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
mov ecx, dword [esp + 0x14]
mov ebx, eax
push 0xff
movzx edx, bl
push ecx
push edx
call esi
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x14]
push 0xff
movzx ecx, bh
push eax
push ecx
call esi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x38], eax
push 0xff
shr ebx, 0x10
movzx eax, bl
push edx
push eax
call esi
movzx edx, byte [esp + 0x3c]
mov ebx, dword [esp + 0x74]
xor ecx, ecx
mov ch, al
mov cl, byte [esp + 0x38]
shl ecx, 8
or ecx, edx
push ecx
push ebx
push ebp
push edi
call dword [sym.imp.GDI32.dll_SetPixel]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
inc ebx
add ecx, eax
cmp ebx, 8
mov dword [esp + 0x74], ebx
mov dword [esp + 0x14], ecx
jl 0x418d70
mov edx, dword [esp + 0x1c]
lea eax, [edx - 5]
cmp eax, 8
mov dword [esp + 0x74], 8
jl 0x418e94
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x10]
push ecx
push ebp
push edx
call dword [sym.imp.GDI32.dll_GetPixel]
mov ebx, eax
mov eax, dword [esp + 0x18]
push 0xff
movzx ecx, bl
push eax
push ecx
call esi
mov edx, dword [esp + 0x18]
mov dword [esp + 0x38], eax
push 0xff
movzx eax, bh
push edx
push eax
call esi
mov ecx, dword [esp + 0x18]
push 0xff
shr ebx, 0x10
movzx edx, bl
push ecx
push edx
mov dword [esp + 0x48], eax
call esi
movzx edx, byte [esp + 0x38]
mov ebx, dword [esp + 0x74]
xor ecx, ecx
mov ch, al
mov cl, byte [esp + 0x3c]
shl ecx, 8
or ecx, edx
push ecx
push ebx
push ebp
push edi
call dword [sym.imp.GDI32.dll_SetPixel]
mov eax, dword [esp + 0x1c]
inc ebx
add eax, 0xfffffffb
cmp ebx, eax
mov dword [esp + 0x74], ebx
jle 0x418e12
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
lea eax, [edx - 4]
cmp eax, ecx
mov dword [esp + 0x74], eax
jg 0x418f4d
mov ecx, eax
sub ecx, edx
imul ecx, dword [esp + 0x78]
lea ecx, [ecx + ecx*2]
lea edx, [ecx + ecx + 0xff]
mov dword [esp + 0x14], edx
jmp 0x418ec4
mov eax, dword [esp + 0x74]
push eax
mov eax, dword [esp + 0x14]
push ebp
push eax
call dword [sym.imp.GDI32.dll_GetPixel]
mov ecx, dword [esp + 0x14]
mov ebx, eax
push 0xff
movzx edx, bl
push ecx
push edx
call esi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x14]
push 0xff
movzx ecx, bh
push eax
push ecx
call esi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
push 0xff
shr ebx, 0x10
movzx eax, bl
push edx
push eax
call esi
movzx edx, byte [esp + 0x38]
mov ebx, dword [esp + 0x74]
xor ecx, ecx
mov ch, al
mov cl, byte [esp + 0x3c]
shl ecx, 8
or ecx, edx
push ecx
push ebx
push ebp
push edi
call dword [sym.imp.GDI32.dll_SetPixel]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
add ecx, eax
mov eax, dword [esp + 0x2c]
inc ebx
cmp ebx, eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x14], ecx
jle 0x418ec0
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
inc ecx
mov dword [esp + 0x78], ecx
mov ecx, 6
sub eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
sub eax, 0x1e
add ebx, ecx
sub edx, ecx
dec ebp
cmp eax, 0x87
mov dword [esp + 0x18], eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], edx
jge 0x418d40
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x2c]
add ecx, 0xfffffffb
mov dword [esp + 0x18], ecx
mov dword [esp + 0x28], 0xfffffffa
mov dword [esp + 0x14], 0xe1
mov dword [esp + 0x2c], 0xf9
xor ebx, ebx
lea esp, [esp]
mov edx, dword [esp + 0x10]
push ebp
push ebx
push edx
call dword [sym.imp.GDI32.dll_GetPixel]
push eax
push ebp
push ebx
push edi
call dword [sym.imp.GDI32.dll_SetPixel]
inc ebx
cmp ebx, 3
jle 0x418fc0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x78], 4
mov dword [esp + 0x74], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x10]
push ebp
push ecx
push edx
call dword [sym.imp.GDI32.dll_GetPixel]
mov ebx, eax
mov eax, dword [esp + 0x74]
push 0xff
movzx ecx, bl
push eax
push ecx
call esi
mov edx, dword [esp + 0x74]
mov dword [esp + 0x38], eax
push 0xff
movzx eax, bh
push edx
push eax
call esi
mov ecx, dword [esp + 0x74]
push 0xff
shr ebx, 0x10
movzx edx, bl
push ecx
push edx
mov dword [esp + 0x48], eax
call esi
movzx edx, byte [esp + 0x38]
mov ebx, dword [esp + 0x78]
xor ecx, ecx
mov ch, al
mov cl, byte [esp + 0x3c]
shl ecx, 8
or ecx, edx
push ecx
push ebp
push ebx
push edi
call dword [sym.imp.GDI32.dll_SetPixel]
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x28]
inc ebx
add ecx, eax
cmp ebx, 7
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ecx
jle 0x418ff0
mov ecx, dword [esp + 0x18]
mov eax, 8
cmp ecx, eax
mov dword [esp + 0x78], eax
jl 0x41910e
nop
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x10]
push ebp
push ecx
push edx
call dword [sym.imp.GDI32.dll_GetPixel]
mov ebx, eax
mov eax, dword [esp + 0x14]
push 0xff
movzx ecx, bl
push eax
push ecx
call esi
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
push 0xff
movzx eax, bh
push edx
push eax
call esi
mov ecx, dword [esp + 0x14]
push 0xff
shr ebx, 0x10
movzx edx, bl
push ecx
push edx
mov dword [esp + 0x80], eax
call esi
movzx edx, byte [esp + 0x3c]
mov ebx, dword [esp + 0x78]
xor ecx, ecx
mov ch, al
mov cl, byte [esp + 0x74]
shl ecx, 8
or ecx, edx
push ecx
push ebp
push ebx
push edi
call dword [sym.imp.GDI32.dll_SetPixel]
mov eax, dword [esp + 0x18]
inc ebx
cmp ebx, eax
mov dword [esp + 0x78], ebx
jle 0x419090
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x14]
sub edx, 6
sub eax, 6
sub ebx, 0x1e
dec ebp
cmp eax, 0xe7
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x14], ebx
jge 0x418fb7
mov eax, dword [esp + 0x40]
test eax, eax
pop edi
pop esi
pop ebp
je 0x419149
mov eax, dword [eax + 4]
push eax
mov eax, dword [esp + 0x40]
push eax
call fcn.00448b10
lea ecx, [esp + 0x38]
mov dword [esp + 0x60], 0xffffffff
call fcn.00448808
mov ecx, dword [esp + 0x58]
pop ebx
mov dword fs:[0], ecx
add esp, 0x60
ret 0x10