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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xe8
movaps xmmword [rsp + 0xc0], xmm6
movaps xmmword [rsp + 0xd0], xmm7
lea rdi, [0x140162db0]
lea rax, [0x14014ab50]
movq xmm6, rdi
mov rdi, qword [rcx + 0x10]
movq xmm0, rax
mov r9, qword [rcx]
punpcklqdq xmm6, xmm0
movzx ebx, byte [rdi + 0x10]
mov qword [rsp + 0x138], rdx
mov rsi, qword [r9 + 8]
mov qword [rsp + 0x130], rcx
mov dword [rsp + 0x8c], 0
mov rax, qword [r9]
mov r15, qword [r9 + 0x10]
imul r11, rbx, 0x68
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 8]
add r11, rsi
mov rsi, qword [r11 + 0x28]
movq xmm7, rax
mov qword [rsp + 0x48], rax
movhps xmm7, qword [rsp + 0x40]
mov qword [rsp + 0x60], rsi
mov rsi, rax
mov rax, qword [rax + 0x20]
mov edx, dword [rsi + 0x14]
test edx, edx
jle 0x1401cc0a6
movsxd rcx, edx
mov r10d, dword [r11 + 0x4c]
xor ebx, ebx
imul rcx, rcx, 0x38
add rcx, rax
nop dword [rax]
movzx esi, word [rax + 0x12]
mov edx, esi
and edx, 0xffffffbf
cmp dword [rax + 0x1c], r10d
mov word [rax + 0x12], dx
jne 0x1401cb828
mov rbp, r8
and rbp, qword [rax + 0x28]
jne 0x1401cb828
movzx ebp, word [rax + 0x14]
and ebp, 0xf7ff
je 0x1401cb828
and esi, 0x80
jne 0x1401cb828
movzx esi, byte [r11 + 0x44]
test sil, 0x58
je 0x1401cb818
mov rbp, qword [rax]
mov r12d, dword [rbp + 4]
test r12b, 3
je 0x1401cb828
cmp r10d, dword [rbp + 0x34]
jne 0x1401cb828
and esi, 0x18
je 0x1401cb818
and r12d, 2
jne 0x1401cb828
nop dword [rax]
or edx, 0x40
add ebx, 1
mov word [rax + 0x12], dx
nop word [rax + rax]
add rax, 0x38
cmp rax, rcx
jne 0x1401cb7b8
movsxd rbx, ebx
imul rbp, rbx, 0x1c
add rbp, 0x88
test r15, r15
je 0x1401cb977
mov r14d, dword [r15]
test r14d, r14d
jle 0x1401cc159
imul rsi, qword [rsp + 0x58], 0x68
xor r13d, r13d
mov qword [rsp + 0x70], rbx
mov rax, qword [rsp + 0x50]
lea r12, [r15 + 8]
mov qword [rsp + 0x68], rdi
mov rbx, r12
mov r12d, r13d
mov r13, r9
add rsi, rax
mov rdi, qword [rbx]
mov eax, 1
movups xmmword [rsp + 0x98], xmm6
mov word [rsp + 0xb4], ax
mov dword [rsp + 0xb8], 0
test rdi, rdi
je 0x1401cbb10
lea rcx, [rsp + 0x90]
mov rdx, rdi
call fcn.140163c70
cmp word [rsp + 0xb4], 0
jne 0x1401cbb10
test byte [rbx + 0x10], 2
jne 0x1401cb95e
movzx eax, byte [rdi]
cmp al, 0xa7
je 0x1401cbaf0
cmp al, 0x71
jne 0x1401cb95e
mov rax, qword [rdi + 0x10]
cmp byte [rax], 0xa7
jne 0x1401cb95e
mov ecx, dword [rsi + 0x4c]
cmp dword [rax + 0x2c], ecx
jne 0x1401cb95e
movsx rax, word [rax + 0x30]
test ax, ax
mov word [rdi + 0x30], ax
js 0x1401cbb10
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 8]
lea rcx, [rax + rcx*8]
movzx r10d, word [rcx + 0x12]
mov rax, qword [rcx]
lea rcx, str.BINARY
test r10w, 0x200
jne 0x1401cb934
jmp 0x1401cb947
add rax, 1
cmp byte [rax], 0
jne 0x1401cb930
and r10d, 4
jne 0x1401cbad0
lea rcx, [rax + 1]
mov rax, qword [rdi + 8]
mov rdx, rcx
mov rcx, rax
call fcn.1401603d0
test eax, eax
je 0x1401cbb10
mov rdi, qword [rsp + 0x68]
mov r9, r13
mov r13d, r12d
mov rbx, qword [rsp + 0x70]
cmp r14d, r13d
je 0x1401cbb30
xor r12d, r12d
xor r13d, r13d
xor r14d, r14d
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
test rcx, rcx
je 0x1401cbb70
mov rdx, rbp
call fcn.140168520
mov rsi, rax
test rsi, rsi
je 0x1401cbb84
xor edx, edx
mov r8, rbp
mov rcx, rsi
call sub.msvcrt.dll_memset
lea rax, [rbx + rbx*2]
movups xmmword [rsi + 0x60], xmm7
xor edx, edx
lea r10, [rsi + rbx*8 + 0x80]
mov rbx, qword [rsp + 0x48]
mov dword [rsi + 0x70], r13d
xor r13d, r13d
lea rbp, [r10 + rax*4]
mov qword [rsi + 8], r10
add r12, rbp
mov qword [rsi + 0x18], rbp
mov qword [rsi + 0x20], r12
mov r12d, dword [rbx + 0x14]
mov dword [rsi + 0x74], 0
mov rax, qword [rbx + 0x20]
xor ebx, ebx
test r12d, r12d
jg 0x1401cba63
jmp 0x1401cbbc8
cmp r9w, 0x40
je 0x1401cbbb8
test r11w, 0x180
jne 0x1401cbba0
and r11d, 0x3c
mov byte [r8 + 4], r9b
je 0x1401cba50
mov rcx, qword [rax]
mov r11, qword [rcx + 0x18]
movzx ecx, byte [r11]
cmp cl, 0xb0
jne 0x1401cba36
movzx ecx, byte [r11 + 2]
cmp cl, 0xb1
je 0x1401cc018
cmp cl, 0x8a
je 0x1401cbf50
nop dword [rax + rax]
add ebx, 1
add edx, 1
add rax, 0x38
cmp r12d, edx
je 0x1401cbbc8
movzx ecx, word [rax + 0x12]
test cl, 0x40
je 0x1401cba53
mov r9d, dword [rax + 0x20]
movsxd r8, ebx
movzx r11d, word [rax + 0x14]
lea r8, [r8 + r8*2]
lea r8, [r10 + r8*4]
mov dword [r8 + 8], edx
mov dword [r8], r9d
mov r9d, r11d
and r9w, 0x3fff
cmp r9w, 1
jne 0x1401cba00
test cx, cx
js 0x1401cbea0
cmp ebx, 0x1f
mov r9d, dword [rsi + 0x74]
jg 0x1401cbabb
mov r11d, 1
mov ecx, ebx
shl r11d, cl
or r9d, r11d
mov dword [rsi + 0x74], r9d
mov byte [r8 + 4], 2
jmp 0x1401cba50
add rax, 1
cmp byte [rax], 0
je 0x1401cb943
add rax, 1
cmp byte [rax], 0
jne 0x1401cbad0
jmp 0x1401cb943
imul rax, qword [rsp + 0x58], 0x68
mov rcx, qword [rsp + 0x50]
mov eax, dword [rcx + rax + 0x4c]
cmp dword [rdi + 0x2c], eax
jne 0x1401cb95e
nop dword [rax + rax]
add r12d, 1
add rbx, 0x20
cmp r14d, r12d
jne 0x1401cb87c
mov rdi, qword [rsp + 0x68]
mov r9, r13
mov rbx, qword [rsp + 0x70]
nop
movzx r13d, word [r9 + 0x3c]
movsxd r12, r14d
shl r12, 3
add rbp, r12
test r13b, 0x80
je 0x1401cc005
mov rax, qword [rsp + 0x40]
test r13w, 0x200
setne r13b
movzx r13d, r13b
add r13d, 2
mov rcx, qword [rax]
test rcx, rcx
jne 0x1401cb991
nop dword [rax]
mov rcx, rbp
call fcn.140153820
mov rsi, rax
test rsi, rsi
jne 0x1401cb9a5
mov rcx, qword [rsp + 0x40]
lea rdx, [0x1403a3d98]
call fcn.140168320
mov ebp, 7
jmp 0x1401cbf20
cmp r9w, 0x100
setne cl
add ecx, 0x47
mov byte [r8 + 4], cl
jmp 0x1401cba50
movzx ecx, byte [rax + 0x17]
mov byte [r8 + 4], cl
jmp 0x1401cba50
test r14d, r14d
mov dword [rsi], ebx
je 0x1401cbc70
lea r12, [rsp + 0x90]
movsxd rbx, r14d
xor r14d, r14d
mov qword [rsp + 0x50], rdi
shl rbx, 5
mov edi, r14d
mov r14, rsi
add rbx, r15
mov rsi, r12
mov r12, rbp
mov rbp, rbx
nop dword [rax]
mov rbx, qword [r15 + 8]
mov eax, 1
movups xmmword [rsp + 0x98], xmm6
mov word [rsp + 0xb4], ax
mov dword [rsp + 0xb8], 0
test rbx, rbx
je 0x1401cbc5a
mov rdx, rbx
mov rcx, rsi
call fcn.140163c70
cmp word [rsp + 0xb4], 0
jne 0x1401cbc5a
movsxd rax, edi
add edi, 1
lea rdx, [r12 + rax*8]
movsx eax, word [rbx + 0x30]
mov dword [rdx], eax
movzx eax, byte [r15 + 0x18]
and eax, 1
mov byte [rdx + 4], al
add r15, 0x20
cmp r15, rbp
jne 0x1401cbc00
mov rsi, r14
mov r14d, edi
mov rdi, qword [rsp + 0x50]
mov ebx, dword [rsi]
mov rax, qword [rsp + 0x40]
mov dword [rsi + 0x10], r14d
xor ebp, ebp
xor r12d, r12d
and byte [rdi + 0x1c], 0xfe
mov word [rdi + 0x12], bp
mov r8d, ebx
mov rdx, rdi
mov dword [rdi + 0x38], 0x400
mov rcx, qword [rax]
mov word [rdi + 0x3c], r12w
call fcn.140168af0
test eax, eax
jne 0x1401cc038
mov rdx, qword [rsp + 0x138]
movzx r12d, r13w
xor r9d, r9d
mov qword [rsp + 0x20], rsi
mov rcx, qword [rsp + 0x130]
lea rax, [rsp + 0x8c]
mov dword [rsp + 0x28], r12d
mov r8, 0xffffffffffffffff
lea r13, [rsp + 0x90]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r13
call fcn.1401caf90
mov r10d, dword [rsp + 0x8c]
mov ebp, eax
test r10d, r10d
jne 0x1401cbfa0
test ebp, ebp
jne 0x1401cbeb2
mov r15, qword [rsp + 0x138]
mov r10d, dword [rsp + 0x90]
not r15
mov rax, r15
and rax, qword [rdi]
mov qword [rsp + 0x70], rax
jne 0x1401cbfee
test r10d, r10d
je 0x1401cbeb2
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x30], r13
mov r9d, 1
mov r8, 0xffffffffffffffff
mov rdx, qword [rsp + 0x138]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], rsi
call fcn.1401caf90
mov rcx, r15
and rcx, qword [rdi]
sete r10b
test eax, eax
mov qword [rsp + 0x50], rcx
movzx r10d, r10b
jne 0x1401cbeb0
test ebx, ebx
jle 0x1401cc0b2
mov rax, qword [rsp + 0x48]
movsxd rbx, ebx
mov dword [rsp + 0x7c], ebp
xor r9d, r9d
lea r14, [rbx + rbx*2]
mov r11, qword [rsi + 8]
mov qword [rsp + 0x58], rdi
mov rdi, r15
mov rbp, qword [rsp + 0x70]
shl r14, 2
mov dword [rsp + 0x60], r10d
mov rbx, qword [rsp + 0x138]
mov dword [rsp + 0x68], r10d
mov r8, qword [rax + 0x20]
nop word [rax + rax]
lea rax, [r11 + 8]
mov r15, 0xffffffffffffffff
lea rcx, [rax + r14]
nop word [rax + rax]
movsxd rdx, dword [rax]
imul rdx, rdx, 0x38
mov r10, qword [r8 + rdx + 0x28]
and r10, rdi
cmp r10, r15
jae 0x1401cbe0b
cmp r9, r10
cmovb r15, r10
add rax, 0xc
cmp rcx, rax
jne 0x1401cbdf0
cmp r15, 0xffffffffffffffff
je 0x1401cc14b
cmp rbp, r15
je 0x1401cbe97
cmp qword [rsp + 0x50], r15
je 0x1401cbe97
mov r8, rbx
xor r9d, r9d
mov qword [rsp + 0x30], r13
mov rdx, rbx
mov rcx, qword [rsp + 0x130]
or r8, r15
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], rsi
call fcn.1401caf90
mov rcx, qword [rsp + 0x58]
cmp qword [rcx], rbx
jne 0x1401cbe86
mov r9d, dword [rsp + 0x90]
mov ecx, 1
mov dword [rsp + 0x68], 1
test r9d, r9d
cmovne ecx, dword [rsp + 0x60]
mov dword [rsp + 0x60], ecx
test eax, eax
jne 0x1401cbeb0
mov rax, qword [rsp + 0x48]
mov r11, qword [rsi + 8]
mov r8, qword [rax + 0x20]
mov r9, r15
jmp 0x1401cbdd8
mov byte [r8 + 4], 2
jmp 0x1401cba50
mov ebp, eax
mov ecx, dword [rsi + 0x38]
test ecx, ecx
jne 0x1401cbfe0
mov edx, dword [rsi]
xor ebx, ebx
mov rax, qword [rsp + 0x40]
test edx, edx
mov r12, qword [rax]
jle 0x1401cbf14
nop dword [rax]
mov rdi, qword [rsi + rbx*8 + 0x80]
test rdi, rdi
je 0x1401cbf00
test word [rdi + 0x14], 0x9000
jne 0x1401cbeec
mov eax, dword [rdi + 0x20]
test eax, eax
je 0x1401cbef4
mov rcx, rdi
call fcn.140158a00
mov rcx, qword [rdi + 0x18]
mov rdx, rdi
call fcn.1401584a0
mov qword [rsi + rbx*8 + 0x80], 0
add rbx, 1
cmp dword [rsi], ebx
jg 0x1401cbed0
mov rdx, rsi
mov rcx, r12
call fcn.1401584a0
nop
movaps xmm6, xmmword [rsp + 0xc0]
mov eax, ebp
movaps xmm7, xmmword [rsp + 0xd0]
add rsp, 0xe8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [r11 + 0x20]
mov rcx, qword [rcx + 0x20]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x1401cba50
cmp ebx, 0xf
jg 0x1401cbf76
mov r11d, 1
mov ecx, ebx
shl r11d, cl
or r13d, r11d
cmp r9w, 0x10
je 0x1401cc028
cmp r9w, 4
jne 0x1401cba50
mov byte [r8 + 4], 0x20
jmp 0x1401cba50
mov rdx, qword [rsp + 0x138]
mov qword [rsp + 0x30], r13
xor r9d, r9d
mov r8, 0xffffffffffffffff
mov rcx, qword [rsp + 0x130]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], rsi
call fcn.1401caf90
mov ebp, eax
jmp 0x1401cbd02
mov rcx, qword [rsi + 0x30]
call fcn.14014fe50
jmp 0x1401cbebd
test r10d, r10d
jne 0x1401cbd37
mov qword [rsp + 0x50], 0
jmp 0x1401cbd8c
shr r13w, 6
and r13d, 1
jmp 0x1401cb980
mov rcx, qword [r11 + 0x20]
mov ecx, dword [rcx]
jmp 0x1401cbf5a
mov byte [r8 + 4], 8
jmp 0x1401cba50
mov edi, dword [rsi]
xor ebx, ebx
mov rax, qword [rsp + 0x40]
test edi, edi
mov rbp, qword [rax]
jle 0x1401cc096
nop dword [rax + rax]
mov rdi, qword [rsi + rbx*8 + 0x80]
test rdi, rdi
je 0x1401cc082
test word [rdi + 0x14], 0x9000
jne 0x1401cc06e
mov r11d, dword [rdi + 0x20]
test r11d, r11d
je 0x1401cc076
mov rcx, rdi
call fcn.140158a00
mov rcx, qword [rdi + 0x18]
mov rdx, rdi
call fcn.1401584a0
mov qword [rsi + rbx*8 + 0x80], 0
add rbx, 1
cmp dword [rsi], ebx
jg 0x1401cc050
mov rdx, rsi
mov rcx, rbp
call fcn.1401584a0
jmp 0x1401cbb95
mov ebp, 0x88
xor ebx, ebx
jmp 0x1401cb83f
mov dword [rsp + 0x60], r10d
test r10d, r10d
jne 0x1401cc102
mov r8, qword [rsp + 0x138]
xor r9d, r9d
mov qword [rsp + 0x38], 0
mov rcx, qword [rsp + 0x130]
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x20], rsi
mov rdx, r8
call fcn.1401caf90
mov r8d, dword [rsp + 0x90]
mov ebp, eax
test r8d, r8d
je 0x1401cbeb2
mov eax, dword [rsp + 0x60]
or eax, ebp
jne 0x1401cbeb2
mov r8, qword [rsp + 0x138]
mov qword [rsp + 0x30], r13
mov r9d, 1
mov rcx, qword [rsp + 0x130]
mov dword [rsp + 0x28], r12d
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x20], rsi
mov rdx, r8
call fcn.1401caf90
mov ebp, eax
jmp 0x1401cbeb2
mov r10d, dword [rsp + 0x68]
mov ebp, dword [rsp + 0x7c]
jmp 0x1401cc0b7
xor r13d, r13d
jmp 0x1401cb96e