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

Disassembly:
mov byte [rsp + 0x20], r9b
mov dword [rsp + 0x18], r8d
mov qword [rsp + 8], rcx
push rbp
push rdi
push r12
sub rsp, 0xd0
mov r12d, r8d
mov rdi, rdx
mov rbp, rcx
test rdx, rdx
je 0x1401b2d02
cmp r8d, 3
jl 0x1401b2d02
cmp qword [rcx + 0x200], 0
jne 0x1401b23d5
call sym.NitroFree.exe_public:_bool___cdecl_CxImage::SelectionCreate_void____ptr64
cmp qword [rbp + 0x200], 0
je 0x1401b2d02
mov qword [rsp + 0xc8], rbx
mov ebx, dword [rbp + 0x18]
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xb0], r14
mov r14d, dword [rbp + 0x14]
mov eax, r14d
mov edx, 1
mov qword [rsp + 0xa8], r15
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x2c], r14d
imul eax, ebx
movsxd rcx, eax
call qword [sym.imp.MSVCR120.dll_calloc]
xor r11d, r11d
xor edx, edx
xor ecx, ecx
xor r15d, r15d
xor esi, esi
mov r13, rax
mov qword [rsp + 0x48], rax
mov dword [rsp + 0x24], r11d
mov dword [rsp + 0xf8], edx
mov qword [rsp + 0x50], rcx
mov dword [rsp + 0x20], r15d
test r12d, r12d
jle 0x1401b279e
movaps xmmword [rsp + 0x90], xmm6
mov r13, rdi
nop dword [rax]
movsxd rbx, dword [rdi]
cmp ebx, 0xffffffff
je 0x1401b267b
test r15d, r15d
je 0x1401b2489
jle 0x1401b2491
cmp dword [rdi - 8], 0xffffffff
jne 0x1401b2491
mov rcx, r13
mov qword [rsp + 0x50], rcx
lea eax, [r15 + 1]
cmp eax, r12d
je 0x1401b24a4
cmp dword [rdi + 8], 0xffffffff
lea rsi, [r13 + 8]
jne 0x1401b24a7
mov rsi, rcx
mov ecx, dword [rsi]
cmp ebx, ecx
je 0x1401b258a
mov eax, dword [rsi + 4]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0xf0]
sub eax, dword [rdi + 4]
mov rbp, rbx
movd xmm6, eax
mov eax, ecx
sub eax, ebx
movd xmm0, eax
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
cmp ebx, ecx
jge 0x1401b2530
movd xmm0, dword [rdi + 4]
mov eax, ebx
mov edx, ebx
sub eax, dword [rdi]
mov rcx, r15
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si r14d, xmm1
mov r8d, r14d
call sym.NitroFree.exe_public:_bool___cdecl_CxImage::IsInside_long_int__long_int____ptr64
test al, al
je 0x1401b2525
movsxd rcx, dword [r15 + 0x14]
movsxd rax, r14d
imul rcx, rax
add rcx, rbp
mov byte [rcx + r12], 0xff
inc ebx
inc rbp
cmp ebx, dword [rsi]
jle 0x1401b24e1
jmp 0x1401b257d
movd xmm0, dword [rdi + 4]
mov eax, ebx
mov edx, ebx
sub eax, dword [rdi]
mov rcx, r15
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si r14d, xmm1
mov r8d, r14d
call sym.NitroFree.exe_public:_bool___cdecl_CxImage::IsInside_long_int__long_int____ptr64
test al, al
je 0x1401b2574
movsxd rcx, dword [r15 + 0x14]
movsxd rax, r14d
imul rcx, rax
add rcx, rbp
mov byte [rcx + r12], 0xff
dec ebx
dec rbp
cmp ebx, dword [rsi]
jge 0x1401b2530
mov r12d, dword [rsp + 0x100]
mov r15d, dword [rsp + 0x20]
movsxd rbx, dword [rdi + 4]
mov ecx, dword [rsi + 4]
cmp ebx, ecx
je 0x1401b267b
mov eax, dword [rsi]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0xf0]
sub eax, dword [rdi]
mov rbp, rbx
movd xmm6, eax
mov eax, ecx
sub eax, ebx
movd xmm0, eax
cvtdq2ps xmm6, xmm6
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
cmp ebx, ecx
jge 0x1401b2620
nop word [rax + rax]
movd xmm0, dword [rdi]
mov eax, ebx
mov r8d, ebx
sub eax, dword [rdi + 4]
mov rcx, r15
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si r14d, xmm1
mov edx, r14d
call sym.NitroFree.exe_public:_bool___cdecl_CxImage::IsInside_long_int__long_int____ptr64
test al, al
je 0x1401b2614
movsxd rax, dword [r15 + 0x14]
movsxd rcx, r14d
imul rax, rbp
add rax, r12
mov byte [rcx + rax], 0xff
inc ebx
inc rbp
cmp ebx, dword [rsi + 4]
jle 0x1401b25d0
jmp 0x1401b266e
movd xmm0, dword [rdi]
mov eax, ebx
mov r8d, ebx
sub eax, dword [rdi + 4]
mov rcx, r15
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm6
addss xmm1, xmm0
cvttss2si r14d, xmm1
mov edx, r14d
call sym.NitroFree.exe_public:_bool___cdecl_CxImage::IsInside_long_int__long_int____ptr64
test al, al
je 0x1401b2664
movsxd rax, dword [r15 + 0x14]
movsxd rcx, r14d
imul rax, rbp
add rax, r12
mov byte [rcx + rax], 0xff
dec ebx
dec rbp
cmp ebx, dword [rsi + 4]
jge 0x1401b2620
mov r12d, dword [rsp + 0x100]
mov r15d, dword [rsp + 0x20]
mov eax, dword [rdi]
mov edx, dword [rsi]
cmp eax, edx
jge 0x1401b2688
mov r9d, eax
jmp 0x1401b268d
mov r9d, edx
mov edx, eax
mov eax, dword [rdi + 4]
mov ecx, dword [rsi + 4]
cmp eax, ecx
jge 0x1401b269c
mov r10d, eax
jmp 0x1401b26a1
mov r10d, ecx
mov ecx, eax
mov r11d, dword [rsp + 0x24]
mov rbp, qword [rsp + 0xf0]
cmp r11d, ecx
jge 0x1401b26dd
mov r8d, dword [rbp + 0x18]
lea r11d, [rcx + 1]
dec r8d
mov eax, r11d
cmp r8d, r11d
cmovl eax, r8d
test eax, eax
jns 0x1401b26d1
xor r11d, r11d
jmp 0x1401b26d8
cmp r8d, r11d
cmovl r11d, r8d
mov dword [rsp + 0x24], r11d
mov r14d, dword [rsp + 0x2c]
cmp r14d, r9d
jle 0x1401b270e
mov ecx, dword [rbp + 0x14]
lea r14d, [r9 - 1]
dec ecx
mov eax, r14d
cmp ecx, r14d
cmovl eax, ecx
test eax, eax
jns 0x1401b2702
xor r14d, r14d
jmp 0x1401b2709
cmp ecx, r14d
cmovl r14d, ecx
mov dword [rsp + 0x2c], r14d
cmp dword [rsp + 0xf8], edx
jge 0x1401b2742
mov ecx, dword [rbp + 0x14]
dec ecx
inc edx
cmp ecx, edx
mov eax, edx
cmovl eax, ecx
test eax, eax
jns 0x1401b2734
xor edx, edx
mov dword [rsp + 0xf8], edx
jmp 0x1401b2749
cmp ecx, edx
cmovl edx, ecx
mov dword [rsp + 0xf8], edx
jmp 0x1401b2749
mov edx, dword [rsp + 0xf8]
mov ebx, dword [rsp + 0x28]
cmp ebx, r10d
jle 0x1401b2773
mov ecx, dword [rbp + 0x18]
lea ebx, [r10 - 1]
dec ecx
mov eax, ebx
cmp ecx, ebx
cmovl eax, ecx
test eax, eax
jns 0x1401b276a
xor ebx, ebx
jmp 0x1401b276f
cmp ecx, ebx
cmovl ebx, ecx
mov dword [rsp + 0x28], ebx
mov rcx, qword [rsp + 0x50]
inc r15d
add r13, 8
add rdi, 8
mov dword [rsp + 0x20], r15d
cmp r15d, r12d
jl 0x1401b2470
mov r13, qword [rsp + 0x48]
movaps xmm6, xmmword [rsp + 0x90]
mov ecx, edx
mov eax, r11d
mov edx, 8
sub ecx, r14d
sub eax, ebx
mov dword [rsp + 0x48], ecx
imul eax, ecx
movsxd rbp, eax
mov rcx, rbp
mov qword [rsp + 0x68], rbp
call qword [sym.imp.MSVCR120.dll_calloc]
mov r8d, dword [rsp + 0xf8]
mov edx, dword [rsp + 0x24]
xor r9d, r9d
xor edi, edi
xor r10d, r10d
xor esi, esi
mov r15, rax
xor eax, eax
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x34], edi
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x58], eax
mov dword [rsp + 0x30], esi
test eax, eax
je 0x1401b2845
dec eax
je 0x1401b2825
dec eax
je 0x1401b280f
dec eax
jne 0x1401b2863
lea edi, [r14 + 1]
lea esi, [rdx + 1]
jmp 0x1401b284c
mov eax, dword [rsp + 0x24]
lea edi, [r8 + 1]
lea esi, [rax + 1]
mov r10d, eax
mov dword [rsp + 0x38], eax
mov edx, eax
jmp 0x1401b2853
mov eax, dword [rsp + 0xf8]
mov r10d, ebx
mov dword [rsp + 0x38], ebx
lea edi, [rax + 1]
mov r9d, eax
mov dword [rsp + 0x20], eax
lea esi, [rdx + 1]
mov r8d, eax
jmp 0x1401b285b
lea edi, [r8 + 1]
lea esi, [rbx + 1]
mov dword [rsp + 0x38], ebx
mov r10d, ebx
mov r9d, r14d
mov dword [rsp + 0x20], r14d
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x34], edi
movsxd rcx, r10d
mov r11d, r10d
mov dword [rsp + 0x3c], r10d
movsxd r10, esi
movsxd rax, edi
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x70], rax
cmp rcx, r10
jge 0x1401b2bcb
movsxd r10, r9d
mov qword [rsp + 0x88], r10
nop dword [rax]
nop word [rax + rax]
mov rdx, r10
mov r8d, r9d
mov dword [rsp + 0x44], r9d
mov qword [rsp + 0x78], rdx
cmp r10, rax
jge 0x1401b2b96
mov r12, qword [rsp + 0xf0]
movsxd rax, dword [r12 + 0x14]
imul rax, rcx
mov rcx, qword [rsp + 0x70]
add rax, r13
mov qword [rsp + 0x80], rax
nop word [rax + rax]
cmp byte [rdx + rax], 0
jne 0x1401b2b62
movsxd rsi, dword [r12 + 0x14]
xor ecx, ecx
xor edx, edx
mov qword [rsp + 0x60], rdx
lea ebx, [rcx + 1]
mov dword [rsp + 0x40], ecx
nop
mov r14d, dword [r15 + rdx*8 + 4]
mov r10d, dword [r15 + rdx*8]
add r11d, r14d
lea r9d, [r10 + r8]
movsxd rdi, r11d
movsxd r8, r9d
imul rsi, rdi
add rsi, r8
add rsi, r13
cmp byte [rsi], 0
jne 0x1401b29fb
movsxd rcx, ebx
nop dword [rax]
cmp r9d, dword [rsp + 0x2c]
jl 0x1401b29f2
cmp r9d, dword [rsp + 0xf8]
jg 0x1401b29f2
cmp r11d, dword [rsp + 0x28]
jl 0x1401b29f2
cmp r11d, dword [rsp + 0x24]
jg 0x1401b29f2
movsxd rdx, dword [r12 + 0x14]
mov rax, rdx
imul rax, rdi
add rax, r8
mov byte [rax + r13], 1
test r11d, r11d
jle 0x1401b29a5
lea rax, [rdi - 1]
imul rax, rdx
add rax, r8
cmp byte [rax + r13], 0
jne 0x1401b29a5
lea eax, [r14 - 1]
mov dword [r15 + rcx*8], r10d
inc rcx
mov dword [r15 + rcx*8 - 4], eax
inc ebx
cmp rcx, rbp
jne 0x1401b29a5
xor ebx, ebx
xor ecx, ecx
lea eax, [r11 + 1]
cmp eax, dword [r12 + 0x18]
jge 0x1401b29dd
lea rax, [rdi + 1]
imul rax, rdx
add rax, r8
cmp byte [rax + r13], 0
jne 0x1401b29dd
lea eax, [r14 + 1]
mov dword [r15 + rcx*8], r10d
inc rcx
mov dword [r15 + rcx*8 - 4], eax
inc ebx
cmp rcx, rbp
jne 0x1401b29dd
xor ebx, ebx
xor ecx, ecx
inc rsi
inc r10d
inc r9d
inc r8
cmp byte [rsi], 0
je 0x1401b2930
mov rdx, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x40]
movsxd r14, dword [r15 + rdx*8 + 4]
mov r11d, dword [rsp + 0x3c]
mov r10d, dword [r15 + rdx*8]
movsxd rsi, dword [r12 + 0x14]
mov r9d, dword [rsp + 0x44]
add r11d, r14d
dec r10d
movsxd rdi, r11d
add r9d, r10d
movsxd r8, r9d
imul rsi, rdi
add rsi, r8
add rsi, r13
cmp byte [rsi], 0
jne 0x1401b2b19
movsxd rcx, ebx
nop dword [rax + rax]
cmp r9d, dword [rsp + 0x2c]
jl 0x1401b2b0b
cmp r9d, dword [rsp + 0xf8]
jg 0x1401b2b0b
cmp r11d, dword [rsp + 0x28]
jl 0x1401b2b0b
cmp r11d, dword [rsp + 0x24]
jg 0x1401b2b0b
mov rax, qword [rsp + 0x50]
movsxd rdx, dword [r12 + 0x14]
add rax, r14
imul rax, rdx
add rax, r8
mov byte [rax + r13], 1
test r11d, r11d
jle 0x1401b2abc
lea rax, [rdi - 1]
imul rax, rdx
add rax, r8
cmp byte [rax + r13], 0
jne 0x1401b2abc
lea eax, [r14 - 1]
mov dword [r15 + rcx*8], r10d
inc rcx
mov dword [r15 + rcx*8 - 4], eax
inc ebx
cmp rcx, qword [rsp + 0x68]
jne 0x1401b2abc
xor ebx, ebx
xor ecx, ecx
lea eax, [r11 + 1]
cmp eax, dword [r12 + 0x18]
jge 0x1401b2af6
lea rax, [rdi + 1]
imul rax, rdx
add rax, r8
cmp byte [rax + r13], 0
jne 0x1401b2af6
lea eax, [r14 + 1]
mov dword [r15 + rcx*8], r10d
inc rcx
mov dword [r15 + rcx*8 - 4], eax
inc ebx
cmp rcx, qword [rsp + 0x68]
jne 0x1401b2af6
xor ebx, ebx
xor ecx, ecx
dec rsi
dec r10d
dec r9d
dec r8
cmp byte [rsi], 0
je 0x1401b2a40
mov rbp, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x40]
inc rdx
inc ecx
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x60], rdx
cmp rdx, rbp
jne 0x1401b2b39
xor ecx, ecx
xor edx, edx
mov qword [rsp + 0x60], rdx
mov dword [rsp + 0x40], ecx
mov r8d, dword [rsp + 0x44]
movsxd rsi, dword [r12 + 0x14]
mov r11d, dword [rsp + 0x3c]
cmp ecx, ebx
jne 0x1401b2900
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
inc rdx
inc r8d
mov dword [rsp + 0x44], r8d
mov qword [rsp + 0x78], rdx
cmp rdx, rcx
jl 0x1401b28e0
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x70]
mov r9d, dword [rsp + 0x20]
mov r10, qword [rsp + 0x88]
mov esi, dword [rsp + 0x30]
inc rcx
inc r11d
movsxd rdx, esi
mov dword [rsp + 0x3c], r11d
mov qword [rsp + 0x50], rcx
cmp rcx, rdx
jl 0x1401b28a0
mov r14d, dword [rsp + 0x2c]
mov ebx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0xf8]
mov edx, dword [rsp + 0x24]
mov edi, dword [rsp + 0x34]
mov eax, dword [rsp + 0x58]
mov r10d, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x58], eax
cmp eax, 4
jl 0x1401b27f6
mov esi, dword [rsp + 0x24]
mov edi, dword [rsp + 0xf8]
mov r11d, ebx
cmp ebx, esi
jg 0x1401b2c50
mov ebp, dword [rsp + 0x48]
movzx r12d, byte [rsp + 0x108]
cmp r14d, edi
jg 0x1401b2c44
mov rbx, qword [rsp + 0xf0]
movsxd rdx, r14d
mov eax, dword [rbx + 0x14]
imul eax, r11d
movsxd r9, eax
lea eax, [rbp + 1]
mov r8d, eax
lea r10, [r9 + r13]
cmp byte [r10 + rdx], 1
je 0x1401b2c3c
mov rax, qword [rbx + 0x200]
lea rcx, [r9 + rdx]
mov byte [rcx + rax], r12b
inc rdx
dec r8
jne 0x1401b2c26
inc r11d
cmp r11d, esi
jle 0x1401b2c02
mov ebx, dword [rsp + 0x28]
mov rdx, qword [rsp + 0xf0]
cmp dword [rdx + 0x18c], esi
jg 0x1401b2c71
mov eax, dword [rdx + 0x18]
lea ecx, [rsi + 1]
cmp eax, ecx
cmovl ecx, eax
mov dword [rdx + 0x18c], ecx
mov rsi, qword [rsp + 0xc0]
cmp dword [rdx + 0x188], r14d
jle 0x1401b2c93
mov eax, dword [rdx + 0x14]
cmp eax, r14d
cmovl r14d, eax
mov dword [rdx + 0x188], r14d
mov r14, qword [rsp + 0xb0]
cmp dword [rdx + 0x190], edi
jg 0x1401b2cb4
mov eax, dword [rdx + 0x14]
lea ecx, [rdi + 1]
cmp eax, ecx
cmovl ecx, eax
mov dword [rdx + 0x190], ecx
cmp dword [rdx + 0x194], ebx
jle 0x1401b2cca
mov eax, dword [rdx + 0x18]
cmp eax, ebx
cmovl ebx, eax
mov dword [rdx + 0x194], ebx
mov rcx, r13
call qword [sym.imp.MSVCR120.dll_free]
mov rcx, r15
call qword [sym.imp.MSVCR120.dll_free]
mov r15, qword [rsp + 0xa8]
mov r13, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc8]
mov al, 1
add rsp, 0xd0
pop r12
pop rdi
pop rbp
ret
xor al, al
add rsp, 0xd0
pop r12
pop rdi
pop rbp
ret