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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xd8
mov edi, r9d
mov r15, rdx
mov rsi, rcx
mov r13, qword [rsp + 0x180]
mov r11, qword [rsp + 0x178]
mov r9d, dword [rsp + 0x170]
movzx r14d, word [rsp + 0x168]
movzx ecx, word [rsp + 0x160]
mov r10, qword [rsp + 0x158]
mov r12d, dword [rsp + 0x150]
mov ebx, dword [rsp + 0x148]
mov edx, dword [rsp + 0x140]
mov eax, edi
lea rbp, [rax + 1]
cmp rbp, r9
mov word [rsp + 0x9e], cx
mov dword [rsp + 0xb4], edx
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0xd0], r13
jne 0x1401b23e9
mov dword [rsp + 0x44], ebx
mov ebx, r14d
mov r14d, r12d
mov rbp, qword [r15 + 8]
mov qword [rsp + 0x48], r15
mov r15, qword [r15 + 0x10]
mov r12, r15
sub r12, r9
jbe 0x1401b2440
cmp byte [rbp + r9], 0xbf
jg 0x1401b2446
jmp 0x1401b2eea
mov qword [rsp + 0x78], rax
add rax, 3
cmp rax, r9
jne 0x1401b2483
mov qword [rsp + 0x80], r11
mov dword [rsp + 0x44], ebx
mov byte [rsp + 0x37], r8b
mov rax, r15
mov r15, qword [r15 + 8]
mov rbx, rax
mov r8, qword [rax + 0x10]
test edi, edi
mov rax, qword [rsp + 0x78]
je 0x1401b24d2
cmp r8, rax
jbe 0x1401b24cc
cmp byte [r15 + rax], 0xc0
jge 0x1401b24d2
jmp 0x1401b2eea
jne 0x1401b2eea
mov r13, rax
lea rax, [r9 + rbp]
cmp r12, 2
jb 0x1401b245d
movzx eax, word [rax]
cmp eax, 0x2f2f
je 0x1401b24b2
mov rax, r13
test edi, edi
mov r12d, r14d
je 0x1401b25e9
cmp r15, rax
mov r14d, ebx
jbe 0x1401b248b
cmp byte [rbp + rax], 0xbf
mov ebx, dword [rsp + 0x44]
jg 0x1401b2495
jmp 0x1401b2eea
mov r13, r9
jmp 0x1401b261e
mov ebx, dword [rsp + 0x44]
jne 0x1401b2eea
add rbp, rax
mov r13, r9
sub r15, rax
cmp r15, 3
jae 0x1401b2600
mov r15, qword [rsp + 0x48]
jmp 0x1401b261e
cmp r15, r9
jbe 0x1401b2572
cmp byte [rbp + r9], 0xbf
jg 0x1401b2578
jmp 0x1401b2eea
jne 0x1401b2eea
cmp r8, r9
jbe 0x1401b252f
cmp byte [r15 + r9], 0xbf
jle 0x1401b2eea
mov qword [rsp + 0x58], r8
mov dword [rsp + 0x48], r12d
mov r8, r9
sub r8, rax
lea r12, [r15 + rax]
lea rdx, [0x141ab503d]
mov rcx, r12
mov r13, r9
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401b2716
movzx r8d, byte [rsp + 0x37]
mov r12d, dword [rsp + 0x48]
mov r15, rbx
mov ebx, dword [rsp + 0x44]
mov r11, qword [rsp + 0x80]
jmp 0x1401b261e
jne 0x1401b2eea
mov r13, r9
mov r8, r9
sub r8, rax
add r15, rax
lea rdx, [0x141ab503d]
mov rcx, r15
call sub.msvcrt.dll_memcmp
test eax, eax
movzx r8d, byte [rsp + 0x37]
mov r15, rbx
mov ebx, dword [rsp + 0x44]
mov r11, qword [rsp + 0x80]
jne 0x1401b261e
jmp 0x1401b2eea
jne 0x1401b2eea
mov qword [rsp + 0x80], r11
mov byte [rsp + 0x37], r8b
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
sub rax, r15
cmp rax, 1
jbe 0x1401b2866
lea rdx, [r9 + rbp]
lea rcx, [r9 + rbp]
add rcx, 2
mov r8, r12
mov r12, r9
call sub.msvcrt.dll_memmove
mov r9, r12
mov word [rbp + r12], 0x2e2f
add r15, 2
mov rax, qword [rsp + 0x48]
mov qword [rax + 0x10], r15
add r9d, 2
movzx r8d, byte [rsp + 0x37]
mov r11, qword [rsp + 0x80]
mov rax, r13
test edi, edi
mov r12d, r14d
jne 0x1401b246b
mov r14d, ebx
mov ebx, dword [rsp + 0x44]
mov r13, r9
sub r15, rax
cmp r15, 3
jb 0x1401b24a8
movzx eax, word [rbp]
xor eax, 0x2f3a
movzx ecx, byte [rbp + 2]
xor ecx, 0x2f
or cx, ax
mov r15, qword [rsp + 0x48]
je 0x1401b2eea
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r11
lea rcx, [rsp + 0xb8]
mov rdx, r15
mov r9d, edi
call fcn.1401b5aa0
mov eax, dword [rsp + 0xb8]
cmp eax, 2
jne 0x1401b2696
movzx eax, byte [rsp + 0xbc]
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
cmp qword [r15], 0
je 0x1401b2702
mov r8, qword [r15 + 8]
mov rcx, qword [0x141af8068]
xor edx, edx
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp sub.KERNEL32.dll_HeapFree
mov ecx, dword [rsp + 0xc4]
mov rdx, qword [rsp + 0xbc]
mov r8, qword [r15 + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [r15]
movups xmmword [rsi], xmm0
mov r8, qword [rsp + 0xc8]
movdqu xmm0, xmmword [r8]
movdqu xmmword [rsi + 0x40], xmm0
movzx r8d, byte [r8 + 0x10]
mov byte [rsi + 0x50], r8b
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rdx
mov dword [rsi + 0x24], ecx
movzx eax, word [rsp + 0x9e]
mov word [rsi + 0x28], ax
mov word [rsi + 0x2a], r14w
mov dword [rsi + 0x2c], edi
mov eax, dword [rsp + 0xb4]
mov dword [rsi + 0x30], eax
mov dword [rsi + 0x34], ebx
mov dword [rsi + 0x38], r12d
mov dword [rsi + 0x3c], r13d
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [r15 + r13], 0x2f
movzx r8d, byte [rsp + 0x37]
mov r11, qword [rsp + 0x80]
jne 0x1401b2eea
lea rax, [r13 + 1]
cmp rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x78]
jae 0x1401b2750
cmp byte [r15 + rax], 0x2f
jne 0x1401b2750
mov r12d, dword [rsp + 0x48]
jmp 0x1401b2e96
test edi, edi
je 0x1401b276d
cmp qword [rsp + 0x58], rdx
jbe 0x1401b2767
cmp byte [r12], 0xc0
jge 0x1401b276d
jmp 0x1401b2eea
jne 0x1401b2eea
cmp byte [r15 + r13], 0xbf
jle 0x1401b2eea
mov qword [rsp + 0x60], rax
cmp edi, r13d
ja 0x1401b2eea
mov r9, qword [rsp + 0x58]
cmp r9, r13
jb 0x1401b2eea
lea r10, [rbx + 0x10]
mov rdx, qword [rsp + 0x78]
mov qword [r10], rdx
sub r9, r13
jne 0x1401b27d1
mov rax, rbx
mov rcx, rdx
cmp qword [rbx], rdx
je 0x1401b2c11
mov byte [r15 + rcx], 0x3a
inc rcx
mov qword [rsp + 0x58], rcx
mov qword [r10], rcx
mov r12d, dword [rsp + 0x48]
mov r15, rbx
jmp 0x1401b2e8e
cmp edi, r13d
jne 0x1401b2838
mov qword [rsp + 0x38], r10
mov rbp, qword [rsp + 0x78]
mov rax, qword [rsp + 0x58]
cmp qword [rbx], rax
je 0x1401b2d2c
lea rdx, [r15 + r13]
lea rcx, [r15 + r13]
inc rcx
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x68], r9
mov r8, r9
call sub.msvcrt.dll_memmove
cmp rbp, qword [rsp + 0x60]
mov qword [rsp + 0x90], r13
jne 0x1401b2895
mov edx, 1
lea r12, [0x141ab51a2]
mov dword [rsp + 0x70], 0
mov qword [rsp + 0x60], rbp
jmp 0x1401b2a2a
add r15, r13
mov byte [r12], 0x3a
inc r12
mov qword [r10], rbp
cmp r12, r15
mov rdx, qword [rsp + 0x78]
mov rax, qword [r10]
mov qword [rsp + 0x58], rax
mov rcx, r13
mov r12d, dword [rsp + 0x48]
mov r15, rbx
jmp 0x1401b2e32
mov r8d, 2
mov rbp, qword [rsp + 0x48]
mov rcx, rbp
mov rdx, r15
mov qword [rsp + 0x90], r9
call fcn.1400342f0
mov r9, qword [rsp + 0x90]
mov rbp, qword [rbp + 8]
jmp 0x1401b259a
lea rax, [r15 + rbp]
lea r12, [0x141ab51a2]
lea rcx, [r12 + r13]
sub rcx, rbp
sub rcx, r12
cmp rcx, 1
mov edx, 1
cmovae rcx, rdx
inc rcx
cmp rcx, 0x27
mov r10, qword [rsp + 0x38]
jae 0x1401b28d0
movzx r8d, byte [rsp + 0x37]
jmp 0x1401b29da
lea r12, [0x141ab51a2]
lea r8, [r12 + r13]
sub r8, rbp
sub r8, r12
cmp r8, 1
cmovb rdx, r8
lea r8, [rbp + rdx]
add r8, r15
inc r8
lea r11, [rbx + 0x18]
lea r9, [rdx + r12]
inc r9
cmp rax, r11
setb byte [rsp + 0xa8]
cmp r10, r8
mov r13, r10
setb r10b
cmp rax, r9
setb dl
cmp r12, r8
setb byte [rsp + 0x88]
cmp r13, r9
setb r9b
cmp r12, r11
setb r11b
test byte [rsp + 0xa8], r10b
movzx r8d, byte [rsp + 0x37]
jne 0x1401b29cd
and dl, byte [rsp + 0x88]
jne 0x1401b29cd
and r9b, r11b
jne 0x1401b29cd
mov edx, ecx
and edx, 3
mov r9d, 4
cmovne r9, rdx
sub rcx, r9
lea rdx, [0x141ab51a2]
lea r12, [rdx + rcx]
add rax, rcx
movq xmm1, rbp
lea r9, [r15 + rbp]
add r9, 2
pxor xmm0, xmm0
xor r10d, r10d
pcmpeqd xmm2, xmm2
mov r11d, dword [r10 + rdx]
mov dword [r9 + r10 - 2], r11d
psubq xmm1, xmm2
psubq xmm0, xmm2
add r10, 4
cmp rcx, r10
jne 0x1401b298d
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq rbp, xmm1
mov r10, qword [rsp + 0x38]
movq qword [r10], xmm1
mov r13, qword [rsp + 0x90]
jmp 0x1401b29da
mov r13, qword [rsp + 0x90]
mov r10, qword [rsp + 0x38]
inc rbp
lea rdx, [0x141ab51a3]
mov r11, qword [rsp + 0x80]
mov r9, qword [rsp + 0x68]
cmp r12, rdx
je 0x1401b2aae
movzx ecx, byte [r12]
inc r12
mov byte [rax], cl
inc rax
mov qword [r10], rbp
inc rbp
cmp rax, qword [rsp + 0x70]
jne 0x1401b29f1
sub rdx, r12
sete al
je 0x1401b2aae
mov dword [rsp + 0x70], eax
js 0x1401b2eea
movzx eax, byte [0x141af8129]
xor ecx, ecx
call fcn.140146820
test rax, rax
je 0x1401b2eea
lea r11, [0x141ab51a2]
mov rcx, r11
sub rcx, r12
inc rcx
xor ebp, ebp
cmp rcx, 0x20
jb 0x1401b2acc
mov rdx, rax
sub rdx, r12
cmp rdx, 0x20
mov r9, qword [rsp + 0x68]
jb 0x1401b2ac5
mov rbp, rcx
and rbp, 0xffffffffffffffe0
lea rdx, [r12 + rbp]
xor r8d, r8d
movdqu xmm0, xmmword [r12 + r8]
movdqu xmm1, xmmword [r12 + r8 + 0x10]
movdqu xmmword [rax + r8], xmm0
movdqu xmmword [rax + r8 + 0x10], xmm1
add r8, 0x20
cmp rbp, r8
jne 0x1401b2a78
cmp rcx, rbp
mov r10, qword [rsp + 0x38]
je 0x1401b2b42
mov r12, rdx
jmp 0x1401b2ad6
mov r12d, dword [rsp + 0x48]
mov r15, rbx
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x60]
jmp 0x1401b2e23
mov r10, qword [rsp + 0x38]
jmp 0x1401b2ad6
mov r10, qword [rsp + 0x38]
mov r9, qword [rsp + 0x68]
mov ecx, r11d
sub ecx, r12d
inc ecx
sub r11, r12
and ecx, 3
je 0x1401b2af9
movzx edx, byte [r12]
inc r12
mov byte [rax + rbp], dl
inc rbp
dec rcx
jne 0x1401b2ae6
cmp r11, 3
jb 0x1401b2b39
lea rdx, [0x141ab51a3]
movzx ecx, byte [r12]
mov byte [rax + rbp], cl
movzx ecx, byte [r12 + 1]
mov byte [rax + rbp + 1], cl
movzx ecx, byte [r12 + 2]
mov byte [rax + rbp + 2], cl
movzx ecx, byte [r12 + 3]
add r12, 4
mov byte [rax + rbp + 3], cl
add rbp, 4
cmp r12, rdx
jne 0x1401b2b06
test rbp, rbp
je 0x1401b2bff
lea rcx, [rax + rbp]
mov qword [rsp + 0x88], rcx
mov rcx, qword [rsp + 0x60]
mov qword [rsp + 0xa8], rax
lea rdx, [r9 + rcx]
mov r12, rbx
mov rax, qword [rbx]
sub rax, rdx
cmp rax, rbp
jb 0x1401b2d61
mov qword [rsp + 0x60], rcx
lea r13, [rcx + rbp]
lea rdx, [r15 + rcx]
add r15, r13
mov rcx, r15
mov r8, r9
call sub.msvcrt.dll_memmove
mov rdx, qword [r12 + 0x10]
cmp rdx, r13
mov r15, r12
jne 0x1401b2bb8
mov rcx, r13
mov r10, qword [rsp + 0x38]
mov r9, qword [rsp + 0x68]
mov r11d, dword [rsp + 0x70]
mov rax, qword [rsp + 0xa8]
jmp 0x1401b2dd7
mov qword [rsp + 0xa0], r13
mov r12, qword [r15 + 8]
lea rcx, [r12 + rdx]
mov rax, qword [rsp + 0x60]
add rax, rbp
mov r8, rdx
not r8
add r8, rax
dec rbp
cmp r8, rbp
mov r9, rbp
cmovb r9, r8
inc r9
cmp r9, 0x20
jae 0x1401b2c48
mov rax, qword [rsp + 0xa8]
mov r8, rax
jmp 0x1401b2d86
mov r15, rbx
mov rcx, qword [rsp + 0x60]
mov r11d, dword [rsp + 0x70]
jmp 0x1401b2dd7
mov r8d, 1
mov r12, rbx
mov rcx, rbx
mov r15, r10
call fcn.140106b90
mov r10, r15
mov rdx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x80]
movzx r8d, byte [rsp + 0x37]
mov r15, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
jmp 0x1401b27b4
cmp r8, rbp
cmovb rbp, r8
lea r10, [rbp + rcx + 1]
add r15, 0x18
mov rax, qword [rsp + 0xa8]
add rbp, rax
inc rbp
cmp rcx, r15
setb byte [rsp + 0x60]
mov r13, qword [rsp + 0x38]
cmp r13, r10
setb r11b
cmp rcx, rbp
setb r8b
cmp r10, rax
seta byte [rsp + 0x57]
cmp r13, rbp
setb r10b
cmp r15, rax
seta bpl
test byte [rsp + 0x60], r11b
jne 0x1401b2d80
and r8b, byte [rsp + 0x57]
mov r15, rbx
jne 0x1401b2d55
and r10b, bpl
jne 0x1401b2d55
mov r10, r9
and r10, 0xfffffffffffffffc
add rcx, r10
mov r8, rax
add r8, r10
movq xmm1, rdx
add rdx, r12
add rdx, 2
pxor xmm0, xmm0
xor r11d, r11d
pcmpeqd xmm2, xmm2
mov ebp, dword [rax + r11]
mov dword [rdx + r11 - 2], ebp
psubq xmm1, xmm2
psubq xmm0, xmm2
add r11, 4
cmp r10, r11
jne 0x1401b2ce0
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
mov rdx, qword [rsp + 0x38]
movq qword [rdx], xmm1
cmp r9, r10
jne 0x1401b2d5a
mov rcx, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x38]
mov r9, qword [rsp + 0x68]
jmp 0x1401b2c07
mov r8d, 1
mov r12, rbx
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
mov r15, r9
call fcn.140106b90
mov r9, r15
mov r15, qword [rbx + 8]
mov rbp, qword [rbx + 0x10]
jmp 0x1401b27ee
mov r8, rax
jmp 0x1401b2d86
movq rdx, xmm1
jmp 0x1401b2d86
mov rcx, r12
mov r8, rbp
call fcn.140106b90
mov rcx, qword [rsp + 0x60]
mov r9, qword [rsp + 0x68]
mov r15, qword [r12 + 8]
jmp 0x1401b2b71
mov r8, rax
mov r15, rbx
mov r10, qword [rsp + 0x38]
mov r11d, dword [rsp + 0x70]
mov r13, qword [rsp + 0x88]
mov rbp, qword [rsp + 0xa0]
add r12, rbp
inc rdx
inc rcx
inc r8
movzx r9d, byte [r8 - 1]
mov byte [rcx - 1], r9b
mov qword [r10], rdx
cmp rcx, r12
je 0x1401b2dcf
inc rdx
inc rcx
lea r9, [r8 + 1]
cmp r8, r13
mov r8, r9
jne 0x1401b2dac
mov rcx, rbp
mov r9, qword [rsp + 0x68]
test r11b, r11b
mov r12d, dword [rsp + 0x48]
jne 0x1401b2e08
mov r13, r15
mov r15, rcx
mov rcx, qword [0x141af8068]
xor edx, edx
mov r8, rax
call sub.KERNEL32.dll_HeapFree
mov rcx, r15
mov r15, r13
mov r9, qword [rsp + 0x68]
mov r10, qword [rsp + 0x38]
movzx r8d, byte [rsp + 0x37]
mov r13, qword [rsp + 0x90]
mov r11, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x78]
cmp qword [rsp + 0x58], r13
mov rax, qword [r10]
mov qword [rsp + 0x58], rax
je 0x1401b2e8e
mov rbp, qword [rsp + 0x58]
cmp rcx, rbp
jne 0x1401b2e41
mov rbp, rcx
jmp 0x1401b2e83
mov rdx, rcx
mov rcx, qword [r15 + 8]
add rdx, rcx
add rcx, rbp
mov r8, r9
mov qword [rsp + 0x48], r15
mov r15, r10
mov qword [rsp + 0x68], r9
call sub.msvcrt.dll_memmove
mov r9, qword [rsp + 0x68]
mov r10, r15
mov r15, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x78]
mov r11, qword [rsp + 0x80]
movzx r8d, byte [rsp + 0x37]
add rbp, r9
mov qword [rsp + 0x58], rbp
mov qword [r10], rbp
add r13d, 0xfffffffe
mov r15, qword [r15 + 8]
test edi, edi
je 0x1401b2eaf
cmp qword [rsp + 0x58], rdx
jbe 0x1401b2eaa
cmp byte [r15 + rdx], 0xbf
jg 0x1401b2eac
jmp 0x1401b2eea
jne 0x1401b2eea
add r15, rdx
mov rax, qword [rsp + 0x58]
sub rax, rdx
cmp rax, 3
jae 0x1401b2ec9
mov r15, rbx
mov ebx, dword [rsp + 0x44]
jmp 0x1401b261e
movzx eax, word [r15]
xor eax, 0x2f3a
movzx ecx, byte [r15 + 2]
xor ecx, 0x2f
or cx, ax
mov r15, rbx
mov ebx, dword [rsp + 0x44]
jne 0x1401b261e
ud2