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

Disassembly:
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x18], r8d
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0xf8
mov eax, dword [rsp + 0x120]
cmp dword [rsp + 0x110], eax
jle 0x14002009e
mov eax, dword [rsp + 0x110]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x120]
mov dword [rsp + 0x110], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + 0x120], eax
mov eax, dword [rsp + 0x108]
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + reloc.mfc110u.dll_Ordinal_280]
mov dword [rsp + 0x108], eax
mov eax, dword [rsp + 0x80]
mov dword [rsp + reloc.mfc110u.dll_Ordinal_280], eax
mov r9d, dword [rsp + reloc.mfc110u.dll_Ordinal_296]
mov r8d, dword [rsp + 0x110]
mov edx, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
call fcn.140016110
mov eax, dword [rsp + 0x108]
mov ecx, dword [rsp + reloc.mfc110u.dll_Ordinal_280]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
jl 0x1400200e9
mov dword [rsp + 0x68], 1
jmp 0x1400200fb
mov dword [rsp + 0x68], 0xffffffff
xor eax, eax
sub eax, dword [rsp + 0x3c]
mov dword [rsp + 0x3c], eax
mov eax, dword [rsp + 0x110]
mov ecx, dword [rsp + 0x120]
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x140020178
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0xe4], eax
mov eax, dword [rsp + 0x3c]
dec eax
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0xe4], 0
je 0x140020173
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x108]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x108], eax
mov r9d, dword [rsp + reloc.mfc110u.dll_Ordinal_296]
mov r8d, dword [rsp + 0x110]
mov edx, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
call fcn.140016110
jmp 0x140020118
jmp 0x14002127c
cmp dword [rsp + 0x3c], 0
jne 0x1400201c9
mov eax, dword [rsp + 0x110]
inc eax
mov dword [rsp + 0x110], eax
mov r9d, dword [rsp + reloc.mfc110u.dll_Ordinal_296]
mov r8d, dword [rsp + 0x110]
mov edx, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
call fcn.140016110
mov eax, dword [rsp + 0x40]
dec eax
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x14002017f
jmp 0x14002127c
mov eax, dword [rsp + 0x40]
cmp dword [rsp + 0x3c], eax
jne 0x140020233
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x108]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x108], eax
mov eax, dword [rsp + 0x110]
inc eax
mov dword [rsp + 0x110], eax
mov r9d, dword [rsp + reloc.mfc110u.dll_Ordinal_296]
mov r8d, dword [rsp + 0x110]
mov edx, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
call fcn.140016110
mov eax, dword [rsp + 0x40]
dec eax
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x1400201d3
jmp 0x14002127c
xor eax, eax
mov word [rsp + 0x30], ax
mov eax, dword [rsp + reloc.mfc110u.dll_Ordinal_296]
and rax, 0xff
mov byte [rsp + 0x26], al
movzx eax, word [rsp + reloc.mfc110u.dll_Ordinal_296]
sar eax, 8
cdqe
and rax, 0xff
mov byte [rsp + 0x24], al
mov eax, dword [rsp + reloc.mfc110u.dll_Ordinal_296]
shr eax, 0x10
mov eax, eax
and rax, 0xff
mov byte [rsp + 0x25], al
movzx eax, byte [rsp + 0x26]
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x140156900]
movzx eax, byte [rsp + 0x24]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x140156910]
addsd xmm0, xmm1
movzx eax, byte [rsp + 0x25]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x1401568f8]
addsd xmm0, xmm1
movsd qword [rsp + 0x48], xmm0
mov eax, dword [rsp + 0x3c]
cmp dword [rsp + 0x40], eax
jle 0x140020aaa
mov eax, dword [rsp + 0x3c]
shl eax, 0x10
xor edx, edx
div dword [rsp + 0x40]
mov word [rsp + 0x6c], ax
mov eax, dword [rsp + 0x40]
dec eax
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
je 0x140020a81
movzx eax, word [rsp + 0x30]
mov word [rsp + 0x5c], ax
movzx eax, word [rsp + 0x6c]
movzx ecx, word [rsp + 0x30]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
movzx ecx, word [rsp + 0x5c]
cmp eax, ecx
jg 0x14002032f
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x108]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x108], eax
mov eax, dword [rsp + 0x110]
inc eax
mov dword [rsp + 0x110], eax
movzx eax, word [rsp + 0x30]
sar eax, 8
mov word [rsp + 0x20], ax
mov r8d, dword [rsp + 0x110]
mov edx, dword [rsp + 0x108]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax + 8]
call qword [sym.imp.GDI32.dll_GetPixel]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
and rax, 0xff
mov byte [rsp + 0x29], al
movzx eax, word [rsp + 0x64]
sar eax, 8
cdqe
and rax, 0xff
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0x64]
shr eax, 0x10
mov eax, eax
and rax, 0xff
mov byte [rsp + 0x2b], al
movzx eax, byte [rsp + 0x29]
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x140156900]
movzx eax, byte [rsp + 0x2c]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x140156910]
addsd xmm0, xmm1
movzx eax, byte [rsp + 0x2b]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x1401568f8]
addsd xmm0, xmm1
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [rsp + 0x29]
movzx ecx, byte [rsp + 0x26]
cmp eax, ecx
jle 0x14002045f
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020411
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xb8], eax
jmp 0x140020422
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xb8], eax
cvtsi2sd xmm0, dword [rsp + 0xb8]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x29]
movzx ecx, byte [rsp + 0x26]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x26]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x53], al
jmp 0x1400204c7
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x14002047b
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xd8], eax
jmp 0x14002048c
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xd8], eax
cvtsi2sd xmm0, dword [rsp + 0xd8]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x26]
movzx ecx, byte [rsp + 0x29]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x29]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x53], al
movzx eax, byte [rsp + 0x53]
mov byte [rsp + 0x37], al
movzx eax, byte [rsp + 0x2c]
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
jle 0x140020548
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x1400204fa
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xe0], eax
jmp 0x14002050b
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xe0], eax
cvtsi2sd xmm0, dword [rsp + 0xe0]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x2c]
movzx ecx, byte [rsp + 0x24]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x24]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x50], al
jmp 0x1400205b0
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020564
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xdc], eax
jmp 0x140020575
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xdc], eax
cvtsi2sd xmm0, dword [rsp + 0xdc]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x24]
movzx ecx, byte [rsp + 0x2c]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x2c]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x50], al
movzx eax, byte [rsp + 0x50]
mov byte [rsp + 0x34], al
movzx eax, byte [rsp + 0x2b]
movzx ecx, byte [rsp + 0x25]
cmp eax, ecx
jle 0x140020631
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x1400205e3
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x84], eax
jmp 0x1400205f4
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0x84], eax
cvtsi2sd xmm0, dword [rsp + 0x84]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x2b]
movzx ecx, byte [rsp + 0x25]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x25]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x59], al
jmp 0x140020699
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x14002064d
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x90], eax
jmp 0x14002065e
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0x90], eax
cvtsi2sd xmm0, dword [rsp + 0x90]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x25]
movzx ecx, byte [rsp + 0x2b]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x2b]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x59], al
movzx eax, byte [rsp + 0x59]
mov byte [rsp + 0x39], al
movzx eax, byte [rsp + 0x37]
movzx ecx, byte [rsp + 0x34]
shl ecx, 8
or eax, ecx
movzx ecx, byte [rsp + 0x39]
shl ecx, 0x10
or eax, ecx
mov r9d, eax
mov r8d, dword [rsp + 0x110]
mov edx, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
call fcn.140016110
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x108]
add ecx, eax
mov eax, ecx
mov r8d, dword [rsp + 0x110]
mov edx, eax
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax + 8]
call qword [sym.imp.GDI32.dll_GetPixel]
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
and rax, 0xff
mov byte [rsp + 0x29], al
movzx eax, word [rsp + 0x64]
sar eax, 8
cdqe
and rax, 0xff
mov byte [rsp + 0x2c], al
mov eax, dword [rsp + 0x64]
shr eax, 0x10
mov eax, eax
and rax, 0xff
mov byte [rsp + 0x2b], al
movzx eax, byte [rsp + 0x29]
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x140156900]
movzx eax, byte [rsp + 0x2c]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x140156910]
addsd xmm0, xmm1
movzx eax, byte [rsp + 0x2b]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x1401568f8]
addsd xmm0, xmm1
movsd qword [rsp + 0x70], xmm0
movzx eax, byte [rsp + 0x29]
movzx ecx, byte [rsp + 0x26]
cmp eax, ecx
jle 0x1400207f7
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x1400207ae
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xd0], eax
jmp 0x1400207ba
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xd0], eax
cvtsi2sd xmm0, dword [rsp + 0xd0]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x29]
movzx ecx, byte [rsp + 0x26]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x26]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x5b], al
jmp 0x14002085f
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020818
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0x98], eax
jmp 0x140020824
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x98], eax
cvtsi2sd xmm0, dword [rsp + 0x98]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x26]
movzx ecx, byte [rsp + 0x29]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x29]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x5b], al
movzx eax, byte [rsp + 0x5b]
mov byte [rsp + 0x37], al
movzx eax, byte [rsp + 0x2c]
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
jle 0x1400208e0
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020897
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xc0], eax
jmp 0x1400208a3
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xc0], eax
cvtsi2sd xmm0, dword [rsp + 0xc0]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x2c]
movzx ecx, byte [rsp + 0x24]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x24]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x57], al
jmp 0x140020948
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020901
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xa0], eax
jmp 0x14002090d
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xa0], eax
cvtsi2sd xmm0, dword [rsp + 0xa0]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x24]
movzx ecx, byte [rsp + 0x2c]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x2c]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x57], al
movzx eax, byte [rsp + 0x57]
mov byte [rsp + 0x34], al
movzx eax, byte [rsp + 0x2b]
movzx ecx, byte [rsp + 0x25]
cmp eax, ecx
jle 0x1400209c9
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020980
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xd4], eax
jmp 0x14002098c
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xd4], eax
cvtsi2sd xmm0, dword [rsp + 0xd4]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x2b]
movzx ecx, byte [rsp + 0x25]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x25]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x52], al
jmp 0x140020a31
movsd xmm0, qword [rsp + 0x70]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x1400209ea
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xa8], eax
jmp 0x1400209f6
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xa8], eax
cvtsi2sd xmm0, dword [rsp + 0xa8]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x25]
movzx ecx, byte [rsp + 0x2b]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x2b]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x52], al
movzx eax, byte [rsp + 0x52]
mov byte [rsp + 0x39], al
movzx eax, byte [rsp + 0x37]
movzx ecx, byte [rsp + 0x34]
shl ecx, 8
or eax, ecx
movzx ecx, byte [rsp + 0x39]
shl ecx, 0x10
or eax, ecx
mov ecx, dword [rsp + 0x68]
mov edx, dword [rsp + 0x108]
add edx, ecx
mov ecx, edx
mov r9d, eax
mov r8d, dword [rsp + 0x110]
mov edx, ecx
mov rcx, qword [rsp + 0x100]
call fcn.140016110
jmp 0x1400202d9
mov r9d, dword [rsp + reloc.mfc110u.dll_Ordinal_296]
mov r8d, dword [rsp + 0x120]
mov edx, dword [rsp + reloc.mfc110u.dll_Ordinal_280]
mov rcx, qword [rsp + 0x100]
call fcn.140016110
jmp 0x14002127c
mov eax, dword [rsp + 0x40]
shl eax, 0x10
xor edx, edx
div dword [rsp + 0x3c]
mov word [rsp + 0x6c], ax
mov eax, dword [rsp + 0x3c]
dec eax
mov dword [rsp + 0x3c], eax
cmp dword [rsp + 0x3c], 0
je 0x140021258
movzx eax, word [rsp + 0x30]
mov word [rsp + 0x5c], ax
movzx eax, word [rsp + 0x6c]
movzx ecx, word [rsp + 0x30]
add ecx, eax
mov eax, ecx
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
movzx ecx, word [rsp + 0x5c]
cmp eax, ecx
jg 0x140020b0c
mov eax, dword [rsp + 0x110]
inc eax
mov dword [rsp + 0x110], eax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x108]
add ecx, eax
mov eax, ecx
mov dword [rsp + 0x108], eax
movzx eax, word [rsp + 0x30]
sar eax, 8
mov word [rsp + 0x20], ax
mov r8d, dword [rsp + 0x110]
mov edx, dword [rsp + 0x108]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax + 8]
call qword [sym.imp.GDI32.dll_GetPixel]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
and rax, 0xff
mov byte [rsp + 0x2a], al
movzx eax, word [rsp + 0x60]
sar eax, 8
cdqe
and rax, 0xff
mov byte [rsp + 0x28], al
mov eax, dword [rsp + 0x60]
shr eax, 0x10
mov eax, eax
and rax, 0xff
mov byte [rsp + 0x27], al
movzx eax, byte [rsp + 0x2a]
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x140156900]
movzx eax, byte [rsp + 0x28]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x140156910]
addsd xmm0, xmm1
movzx eax, byte [rsp + 0x27]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x1401568f8]
addsd xmm0, xmm1
movsd qword [rsp + 0x78], xmm0
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x26]
cmp eax, ecx
jle 0x140020c42
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020bf4
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xc8], eax
jmp 0x140020c05
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xc8], eax
cvtsi2sd xmm0, dword [rsp + 0xc8]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x26]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x26]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x55], al
jmp 0x140020caa
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020c5e
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xb0], eax
jmp 0x140020c6f
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xb0], eax
cvtsi2sd xmm0, dword [rsp + 0xb0]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x26]
movzx ecx, byte [rsp + 0x2a]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x2a]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x55], al
movzx eax, byte [rsp + 0x55]
mov byte [rsp + 0x36], al
movzx eax, byte [rsp + 0x28]
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
jle 0x140020d2b
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020cdd
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xcc], eax
jmp 0x140020cee
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xcc], eax
cvtsi2sd xmm0, dword [rsp + 0xcc]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x28]
movzx ecx, byte [rsp + 0x24]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x24]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x5a], al
jmp 0x140020d93
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020d47
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x88], eax
jmp 0x140020d58
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0x88], eax
cvtsi2sd xmm0, dword [rsp + 0x88]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x24]
movzx ecx, byte [rsp + 0x28]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x28]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x5a], al
movzx eax, byte [rsp + 0x5a]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x27]
movzx ecx, byte [rsp + 0x25]
cmp eax, ecx
jle 0x140020e14
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020dc6
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x8c], eax
jmp 0x140020dd7
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0x8c], eax
cvtsi2sd xmm0, dword [rsp + 0x8c]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x27]
movzx ecx, byte [rsp + 0x25]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x25]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x54], al
jmp 0x140020e7c
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020e30
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x94], eax
jmp 0x140020e41
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0x94], eax
cvtsi2sd xmm0, dword [rsp + 0x94]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x25]
movzx ecx, byte [rsp + 0x27]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x27]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x54], al
movzx eax, byte [rsp + 0x54]
mov byte [rsp + 0x35], al
movzx eax, byte [rsp + 0x36]
movzx ecx, byte [rsp + 0x38]
shl ecx, 8
or eax, ecx
movzx ecx, byte [rsp + 0x35]
shl ecx, 0x10
or eax, ecx
mov r9d, eax
mov r8d, dword [rsp + 0x110]
mov edx, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
call fcn.140016110
mov eax, dword [rsp + 0x110]
inc eax
mov r8d, eax
mov edx, dword [rsp + 0x108]
mov rax, qword [rsp + 0x100]
mov rcx, qword [rax + 8]
call qword [sym.imp.GDI32.dll_GetPixel]
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x60]
and rax, 0xff
mov byte [rsp + 0x2a], al
movzx eax, word [rsp + 0x60]
sar eax, 8
cdqe
and rax, 0xff
mov byte [rsp + 0x28], al
mov eax, dword [rsp + 0x60]
shr eax, 0x10
mov eax, eax
and rax, 0xff
mov byte [rsp + 0x27], al
movzx eax, byte [rsp + 0x2a]
cvtsi2sd xmm0, eax
mulsd xmm0, qword [0x140156900]
movzx eax, byte [rsp + 0x28]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x140156910]
addsd xmm0, xmm1
movzx eax, byte [rsp + 0x27]
cvtsi2sd xmm1, eax
mulsd xmm1, qword [0x1401568f8]
addsd xmm0, xmm1
movsd qword [rsp + 0x78], xmm0
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x26]
cmp eax, ecx
jle 0x140020fd4
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020f8b
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0x9c], eax
jmp 0x140020f97
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0x9c], eax
cvtsi2sd xmm0, dword [rsp + 0x9c]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x2a]
movzx ecx, byte [rsp + 0x26]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x26]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x58], al
jmp 0x14002103c
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140020ff5
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xa4], eax
jmp 0x140021001
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xa4], eax
cvtsi2sd xmm0, dword [rsp + 0xa4]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x26]
movzx ecx, byte [rsp + 0x2a]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x2a]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x58], al
movzx eax, byte [rsp + 0x58]
mov byte [rsp + 0x36], al
movzx eax, byte [rsp + 0x28]
movzx ecx, byte [rsp + 0x24]
cmp eax, ecx
jle 0x1400210bd
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x140021074
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xac], eax
jmp 0x140021080
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xac], eax
cvtsi2sd xmm0, dword [rsp + 0xac]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x28]
movzx ecx, byte [rsp + 0x24]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x24]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x56], al
jmp 0x140021125
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x1400210de
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xb4], eax
jmp 0x1400210ea
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xb4], eax
cvtsi2sd xmm0, dword [rsp + 0xb4]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x24]
movzx ecx, byte [rsp + 0x28]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x28]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x56], al
movzx eax, byte [rsp + 0x56]
mov byte [rsp + 0x38], al
movzx eax, byte [rsp + 0x27]
movzx ecx, byte [rsp + 0x25]
cmp eax, ecx
jle 0x1400211a6
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x14002115d
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xbc], eax
jmp 0x140021169
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xbc], eax
cvtsi2sd xmm0, dword [rsp + 0xbc]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x27]
movzx ecx, byte [rsp + 0x25]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x25]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x51], al
jmp 0x14002120e
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmmword [rsp + 0x48]
jbe 0x1400211c7
movzx eax, word [rsp + 0x20]
xor eax, 0xff
mov dword [rsp + 0xc4], eax
jmp 0x1400211d3
movzx eax, word [rsp + 0x20]
mov dword [rsp + 0xc4], eax
cvtsi2sd xmm0, dword [rsp + 0xc4]
divsd xmm0, qword [0x140156960]
movzx eax, byte [rsp + 0x25]
movzx ecx, byte [rsp + 0x27]
sub eax, ecx
cvtsi2sd xmm1, eax
mulsd xmm0, xmm1
movzx eax, byte [rsp + 0x27]
cvtsi2sd xmm1, eax
addsd xmm0, xmm1
cvttsd2si rax, xmm0
mov byte [rsp + 0x51], al
movzx eax, byte [rsp + 0x51]
mov byte [rsp + 0x35], al
movzx eax, byte [rsp + 0x36]
movzx ecx, byte [rsp + 0x38]
shl ecx, 8
or eax, ecx
movzx ecx, byte [rsp + 0x35]
shl ecx, 0x10
or eax, ecx
mov ecx, dword [rsp + 0x110]
inc ecx
mov r9d, eax
mov r8d, ecx
mov edx, dword [rsp + 0x108]
mov rcx, qword [rsp + 0x100]
call fcn.140016110
jmp 0x140020abc
mov r9d, dword [rsp + reloc.mfc110u.dll_Ordinal_296]
mov r8d, dword [rsp + 0x120]
mov edx, dword [rsp + reloc.mfc110u.dll_Ordinal_280]
mov rcx, qword [rsp + 0x100]
call fcn.140016110
add rsp, 0xf8
ret