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

Disassembly:
push 0xffffffffffffffff
push 0x43b268
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 0x218
call fcn.0040bb90
push 0x218
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 0x414037
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 0x413ff6
mov eax, dword [esp + 0x94]
mov dword [esp + 0x34], eax
jmp 0x413e25
mov eax, dword [esp + 0x34]
mov ebp, 0x10
cmp eax, ebp
mov ebx, ebp
jge 0x413e32
mov ebx, eax
mov eax, dword [esp + 0x38]
cmp eax, 0x10
jge 0x413e3d
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 0x41404b
mov edx, ebp
mov eax, dword [edi + 0x1c4]
imul edx, ebx
shl edx, 1
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 0x413fbf
mov ebp, dword [esp + 0x90]
lea eax, [ebx + ebp]
mov dword [esp + 0x2c], eax
cmp ebp, eax
jge 0x413fb2
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 0x413f03
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x18]
mov si, word [edx]
and esi, 0xffff
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x20]
and edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv 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
cdq
idiv ebx
mov edx, dword [esp + 0x60]
and eax, 0xff
or edx, eax
mov eax, esi
shl eax, 8
shl edx, 8
sub eax, esi
mov dword [esp + 0x60], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x3c]
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, 2
inc ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
cmp ebp, eax
jl 0x413ef8
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x90]
inc esi
cmp esi, ecx
mov dword [esp + 0x3c], esi
jl 0x413e9c
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 0x413e21
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 0x413db0
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 0x414214
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 + ecx + 4]
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 0x413fc3
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 0x413fbf
mov ebp, dword [esp + 0x90]
lea eax, [ebx + ebp]
mov dword [esp + 0x2c], eax
cmp ebp, eax
jge 0x414202
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 0x414153
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x18]
mov si, word [edx]
and esi, 0xffff
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x20]
and edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv 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
cdq
idiv ebx
mov edx, dword [esp + 0x60]
and eax, 0xff
or edx, eax
mov eax, esi
shl eax, 8
shl edx, 8
sub eax, esi
mov dword [esp + 0x60], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x60]
mov esi, dword [esp + 0x3c]
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, 2
inc ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x2c]
cmp ebp, eax
jl 0x414148
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x90]
inc esi
cmp esi, ecx
mov dword [esp + 0x3c], esi
jl 0x4140ec
jmp 0x413fbf
test al, 0x40
je 0x4142af
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 + ecx + 0x18]
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 0x413fc3
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.00414690
jmp 0x413fc3
and eax, 0xff
mov ecx, edi
push eax
mov eax, dword [esp + 0x94]
push ebp
push ebx
push esi
push eax
call fcn.004142d0
jmp 0x413fc3