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

Disassembly:
push 0xffffffffffffffff
push 0x43b298
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x6c
push ebp
push esi
push edi
mov edi, ecx
push 0x41c
call fcn.0040bb90
push 0x41c
mov ecx, edi
call fcn.0040bc60
mov al, byte [edi + 0x4422]
mov esi, dword [esp + 0x8c]
mov cx, word [edi + 0x441c]
mov dl, byte [edi + 0x4423]
mov byte [esp + 0x4c], al
mov ax, word [edi + 0x441e]
mov word [esp + 0x48], ax
mov eax, dword [esp + 0x94]
mov word [esp + 0x50], cx
mov cl, byte [edi + 0x4424]
mov byte [esp + 0x44], dl
mov dx, word [edi + 0x4420]
lea ebp, [esi + eax]
mov byte [esp + 0x3c], cl
cmp esi, ebp
mov word [esp + 0x40], dx
mov dword [esp + 0x10], esi
mov dword [esp + 0x60], ebp
jge 0x414d44
mov ecx, dword [esp + 0x90]
push ebx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x38], eax
lea edx, [ebx + ecx]
mov dword [esp + 0x5c], edx
lea eax, [edi + 0x1e4]
lea ecx, [esp + 0x68]
push eax
call fcn.00408cb0
mov eax, dword [edi + 0x3a1c]
mov ecx, dword [edi + 0x3a20]
push eax
push ecx
lea ecx, [esp + 0x7c]
mov dword [esp + 0x8c], 0
call fcn.00408d20
mov edx, dword [edi + 0x3a24]
mov eax, dword [edi + 0x3a20]
push edx
push eax
lea ecx, [esp + 0x74]
call fcn.00408d60
mov eax, dword [esp + 0x5c]
mov byte [esp + 0x84], 2
cmp ebx, eax
mov dword [esp + 0x90], ebx
jge 0x414d03
mov eax, dword [esp + 0x94]
mov dword [esp + 0x34], eax
jmp 0x414b35
mov eax, dword [esp + 0x34]
mov ebp, 0x10
cmp eax, ebp
mov ebx, ebp
jge 0x414b42
mov ebx, eax
mov eax, dword [esp + 0x38]
cmp eax, 0x10
jge 0x414b4d
mov ebp, eax
lea ecx, [esp + 0x58]
push 1
push ecx
mov ecx, edi
call fcn.0040b880
mov eax, dword [esp + 0x58]
test al, 1
je 0x414d58
mov edx, ebp
mov eax, dword [edi + 0x1c4]
imul edx, ebx
shl edx, 2
push edx
push eax
mov ecx, edi
call fcn.0040b880
mov ecx, dword [edi + 0x1c4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x3c], esi
lea ecx, [eax + ebp]
cmp eax, ecx
mov dword [esp + 0x30], ecx
jge 0x414ccc
mov ebp, dword [esp + 0x90]
lea eax, [ebx + ebp]
mov dword [esp + 0x2c], eax
cmp ebp, eax
jge 0x414cbf
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
and edx, 0xff
and ecx, 0xff
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x50]
and edx, 0xff
and eax, 0xffff
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x54]
and ebx, 0xffff
and edx, 0xffff
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x28], edx
jmp 0x414c14
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x20]
and edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
xor edx, edx
div dword [esp + 0x98]
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x24]
shr esi, cl
mov ecx, dword [esp + 0x28]
and edx, ebx
and esi, ecx
and eax, 0xff
or ah, 2
shl eax, 8
mov dword [esp + 0x60], eax
mov eax, edx
shl eax, 8
sub eax, edx
xor edx, edx
div ebx
mov edx, dword [esp + 0x60]
and eax, 0xff
or edx, eax
mov eax, esi
shl edx, 8
shl eax, 8
mov dword [esp + 0x60], edx
sub eax, esi
xor edx, edx
mov esi, dword [esp + 0x3c]
div ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [edi + 0x3a20]
and eax, 0xff
or ecx, eax
push ecx
push esi
push ebp
push edx
call dword [sym.imp.GDI32.dll_SetPixelV]
mov eax, dword [esp + 0x18]
add eax, 4
inc ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
cmp ebp, eax
jl 0x414c09
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x90]
inc esi
cmp esi, ecx
mov dword [esp + 0x3c], esi
jl 0x414bad
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
add eax, 0x10
sub edx, 0x10
cmp eax, ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x34], edx
jl 0x414b31
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x64]
lea ecx, [esp + 0x6c]
call fcn.00408d90
lea ecx, [esp + 0x74]
call fcn.00408d40
lea ecx, [esp + 0x68]
mov dword [esp + 0x84], 0xffffffff
call fcn.00408cd0
mov ecx, dword [esp + 0x38]
add esi, 0x10
sub ecx, 0x10
cmp esi, ebp
mov dword [esp + 0x14], esi
mov dword [esp + 0x38], ecx
jl 0x414ac0
pop ebx
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x78
ret 0x10
test al, 0x20
je 0x414f20
lea eax, [esp + 0x10]
push 2
push eax
mov ecx, edi
call fcn.0040b880
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov cl, ah
mov edx, dword [edi + 0x1c4]
mov ch, al
mov eax, ecx
mov ecx, edi
mov dword [esp + 0x10], eax
and eax, 0xffff
push eax
push edx
call fcn.0040b880
mov ecx, ebp
lea eax, [edi + 0x2b8]
imul ecx, ebx
push eax
mov eax, dword [esp + 0x14]
lea edx, [ecx*4 + 8]
mov ecx, dword [edi + 0x274]
and eax, 0xffff
push edx
mov edx, dword [edi + 0x1c4]
push eax
push ecx
push edx
mov ecx, edi
call fcn.00412ee0
test al, al
je 0x414cd0
mov eax, dword [edi + 0x274]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
lea ecx, [eax + ebp]
cmp eax, ecx
mov dword [esp + 0x30], ecx
jge 0x414ccc
mov ebp, dword [esp + 0x90]
lea eax, [ebx + ebp]
mov dword [esp + 0x2c], eax
cmp ebp, eax
jge 0x414f0e
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
and edx, 0xff
and ecx, 0xff
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x50]
and edx, 0xff
and eax, 0xffff
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x54]
and ebx, 0xffff
and edx, 0xffff
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x28], edx
jmp 0x414e63
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x18]
mov esi, dword [edx]
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x20]
and edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
xor edx, edx
div dword [esp + 0x98]
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x24]
shr esi, cl
mov ecx, dword [esp + 0x28]
and edx, ebx
and esi, ecx
and eax, 0xff
or ah, 2
shl eax, 8
mov dword [esp + 0x60], eax
mov eax, edx
shl eax, 8
sub eax, edx
xor edx, edx
div ebx
mov edx, dword [esp + 0x60]
and eax, 0xff
or edx, eax
mov eax, esi
shl edx, 8
shl eax, 8
mov dword [esp + 0x60], edx
sub eax, esi
xor edx, edx
mov esi, dword [esp + 0x3c]
div ecx
mov ecx, dword [esp + 0x60]
mov edx, dword [edi + 0x3a20]
and eax, 0xff
or ecx, eax
push ecx
push esi
push ebp
push edx
call dword [sym.imp.GDI32.dll_SetPixelV]
mov eax, dword [esp + 0x18]
add eax, 4
inc ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
cmp ebp, eax
jl 0x414e58
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x90]
inc esi
cmp esi, ecx
mov dword [esp + 0x3c], esi
jl 0x414dfc
jmp 0x414ccc
test al, 0x40
je 0x414fbe
lea eax, [esp + 0x10]
push 2
push eax
mov ecx, edi
call fcn.0040b880
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov cl, ah
mov edx, dword [edi + 0x1c4]
mov ch, al
mov eax, ecx
mov ecx, edi
mov dword [esp + 0x10], eax
and eax, 0xffff
push eax
push edx
call fcn.0040b880
mov ecx, ebp
lea eax, [edi + 0x2f0]
imul ecx, ebx
push eax
mov eax, dword [esp + 0x14]
lea edx, [ecx*4 + 0x1c]
mov ecx, dword [edi + 0x274]
and eax, 0xffff
push edx
mov edx, dword [edi + 0x1c4]
push eax
push ecx
push edx
mov ecx, edi
call fcn.00412ee0
test al, al
je 0x414cd0
mov ecx, dword [esp + 0x58]
mov eax, dword [edi + 0x274]
mov edx, dword [esp + 0x90]
and ecx, 0xff
push eax
push ecx
push ebp
push ebx
push esi
push edx
mov ecx, edi
call fcn.00415390
jmp 0x414cd0
and eax, 0xff
mov ecx, edi
push eax
mov eax, dword [esp + 0x94]
push ebp
push ebx
push esi
push eax
call fcn.00414fe0
jmp 0x414cd0