Function at 0x1401f4180
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 ebx, r9d
mov r11, rdx
mov rdi, rcx
mov rax, qword [rsp + 0x180]
mov rsi, qword [rsp + 0x178]
mov r9d, dword [rsp + 0x170]
movzx r15d, word [rsp + 0x168]
movzx ecx, word [rsp + 0x160]
mov r10, qword [rsp + 0x158]
mov r13d, dword [rsp + 0x150]
mov r14d, dword [rsp + 0x148]
mov edx, dword [rsp + 0x140]
mov ebp, ebx
lea r12, [rbp + 1]
cmp r12, r9
mov word [rsp + 0x7e], cx
mov dword [rsp + 0x9c], edx
mov qword [rsp + 0xa0], r10
jne 0x1401f424c
mov r12d, r15d
mov r15, rbp
mov dword [rsp + 0x48], r14d
mov word [rsp + 0x58], r12w
mov r14d, r13d
mov r13, qword [r11 + 8]
mov r12, qword [r11 + 0x10]
mov rbp, r12
sub rbp, r9
jbe 0x1401f4294
cmp byte [r13 + r9], 0xbf
jg 0x1401f4296
lea rax, str._redacted_
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, r12
mov r8, r9
mov r9, r12
call fcn.14005d870
mov qword [rsp + 0x70], rax
lea rax, [rbp + 3]
cmp rax, r9
jne 0x1401f42c0
mov qword [rsp + 0x88], rsi
mov dword [rsp + 0x48], r14d
mov byte [rsp + 0x32], r8b
mov rsi, qword [r11 + 8]
mov rax, qword [r11 + 0x10]
test ebx, ebx
je 0x1401f436e
cmp rax, rbp
jbe 0x1401f4368
cmp byte [rsi + rbp], 0xbf
jg 0x1401f436e
jmp 0x1401f4d87
jne 0x1401f422f
cmp rbp, 2
jb 0x1401f42aa
cmp word [r13 + r9], 0x2f2f
je 0x1401f4336
test ebx, ebx
je 0x1401f42ce
cmp r12, r15
jbe 0x1401f42c8
cmp byte [r13 + r15], 0xbf
jg 0x1401f42ce
jmp 0x1401f4da1
mov rbp, r9
jmp 0x1401f4c5c
jne 0x1401f4da1
mov rbp, r9
sub r12, r15
cmp r12, 3
jae 0x1401f42ed
mov r13d, r14d
movzx r15d, word [rsp + 0x58]
mov r14d, dword [rsp + 0x48]
jmp 0x1401f4c61
mov rdx, rax
movzx eax, word [r13 + r15]
xor eax, 0x2f3a
movzx ecx, byte [r13 + r15 + 2]
xor ecx, 0x2f
or cx, ax
mov rax, rdx
mov r13d, r14d
movzx r15d, word [rsp + 0x58]
mov r14d, dword [rsp + 0x48]
jne 0x1401f4c61
lea rcx, [0x1403004d4]
lea r8, str._redacted_
mov edx, 0x4f
call fcn.1400576c0
cmp r12, r9
mov qword [rsp + 0x70], rax
jbe 0x1401f442c
cmp byte [r13 + r9], 0xbf
jg 0x1401f4432
lea rcx, [0x140300363]
lea r8, str._redacted_
mov edx, 0x2c
call fcn.1400576c0
jne 0x1401f4d87
cmp rax, r9
mov qword [rsp + 0x58], rax
jbe 0x1401f43ce
cmp byte [rsi + r9], 0xbf
jle 0x1401f4d87
mov qword [rsp + 0x38], r11
mov dword [rsp + 0x34], r13d
mov r8, r9
sub r8, rbp
lea r13, [rsi + rbp]
lea rdx, [0x1403004cd]
mov rcx, r13
mov r14, rbp
mov rbp, r9
call sub.msvcrt.dll_memcmp
test eax, eax
je 0x1401f44a3
movzx r8d, byte [rsp + 0x32]
mov r13d, dword [rsp + 0x34]
mov r14d, dword [rsp + 0x48]
mov r11, qword [rsp + 0x38]
jmp 0x1401f4c54
jne 0x1401f4d87
mov rax, rbp
mov rbp, r9
mov r8, r9
sub r8, rax
add rsi, rax
lea rdx, [0x1403004cd]
mov rcx, rsi
mov rsi, r11
call sub.msvcrt.dll_memcmp
mov r11, rsi
test eax, eax
movzx r8d, byte [rsp + 0x32]
mov r14d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x70]
jne 0x1401f4c61
lea r8, str._redacted_
mov rcx, rbp
mov rdx, qword [rsp + 0x58]
call fcn.140056860
jne 0x1401f4350
mov qword [rsp + 0x88], rsi
mov byte [rsp + 0x32], r8b
mov rax, qword [r11]
sub rax, r12
cmp rax, 1
jbe 0x1401f45d8
lea rdx, [r9 + r13]
lea rcx, [r9 + r13]
add rcx, 2
mov r8, rbp
mov rbp, r9
mov rsi, r11
call sub.msvcrt.dll_memmove
mov r11, rsi
mov r9, rbp
mov word [r13 + rbp], 0x2e2f
add r12, 2
mov qword [rsi + 0x10], r12
add r9d, 2
movzx r8d, byte [rsp + 0x32]
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x70]
test ebx, ebx
jne 0x1401f42ae
jmp 0x1401f42ce
mov qword [rsp + 0x68], r14
cmp byte [rsi + rbp], 0x2f
movzx r8d, byte [rsp + 0x32]
jne 0x1401f4dd6
lea rcx, [rbp + 1]
mov rax, qword [rsp + 0x58]
cmp rcx, rax
mov r11, qword [rsp + 0x38]
jae 0x1401f44db
cmp byte [rsi + rcx], 0x2f
jne 0x1401f44db
mov r13d, dword [rsp + 0x34]
jmp 0x1401f4bfc
test ebx, ebx
je 0x1401f44f8
cmp rax, qword [rsp + 0x68]
jbe 0x1401f44f2
cmp byte [r13], 0xbf
jg 0x1401f44f8
jmp 0x1401f4dbe
jne 0x1401f4dbe
cmp byte [rsi + rbp], 0xbf
jle 0x1401f4dbe
cmp ebx, ebp
ja 0x1401f4df5
cmp rax, rbp
mov rdx, rax
jb 0x1401f4e09
lea r10, [r11 + 0x10]
mov rax, qword [rsp + 0x68]
mov qword [r10], rax
sub rdx, rbp
mov qword [rsp + 0x90], rdx
jne 0x1401f454c
cmp qword [r11], rax
je 0x1401f497b
mov byte [rsi + rax], 0x3a
inc rax
mov qword [r10], rax
mov r13d, dword [rsp + 0x34]
jmp 0x1401f4bf5
cmp ebx, ebp
jne 0x1401f45a9
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x40], r10
mov r14, qword [rsp + 0x68]
mov rax, qword [rsp + 0x58]
cmp qword [r11], rax
je 0x1401f4ab9
lea rdx, [rsi + rbp]
lea r13, [rsi + rbp]
inc r13
mov rcx, r13
mov r8, qword [rsp + 0x90]
call sub.msvcrt.dll_memmove
mov r9, r14
lea rax, [0x14030072a]
cmp r14, qword [rsp + 0x50]
mov qword [rsp + 0x60], rbp
jne 0x1401f4602
mov r12, rax
mov r14, rax
jmp 0x1401f4785
add rsi, rbp
mov byte [r13], 0x3a
inc r13
mov qword [r10], r12
mov r9, rbp
cmp r13, rsi
mov r13d, dword [rsp + 0x34]
mov rax, qword [rsp + 0x58]
je 0x1401f4ba1
mov rax, qword [r10]
mov r9, rbp
jmp 0x1401f4ba9
mov r8d, 2
mov rcx, r11
mov rdx, r12
mov qword [rsp + 0x60], r9
mov r13, r11
call fcn.140002280
mov r11, r13
mov r9, qword [rsp + 0x60]
mov r13, qword [r13 + 8]
jmp 0x1401f444f
lea rax, [rsi + r9]
lea r12, [0x14030072a]
lea rcx, [r12 + rbp]
sub rcx, r9
sub rcx, r12
cmp rcx, 1
mov edx, 1
cmovae rcx, rdx
inc rcx
cmp rcx, 0x25
mov r10, qword [rsp + 0x40]
jae 0x1401f463d
movzx r8d, byte [rsp + 0x32]
jmp 0x1401f4735
lea r12, [0x14030072a]
lea r8, [r12 + rbp]
mov r11, r9
add r9, r12
sub r8, r9
cmp r8, 1
cmovb rdx, r8
lea r8, [r11 + rdx]
lea r8, [rsi + r8 + 1]
mov r9, qword [rsp + 0x38]
lea r11, [r9 + 0x18]
lea r9, [rdx + r12]
inc r9
cmp rax, r11
setb byte [rsp + 0x80]
cmp r10, r8
mov rbp, r10
setb r10b
cmp rax, r9
setb dl
cmp r12, r8
setb byte [rsp + 0x33]
cmp rbp, r9
setb r9b
cmp r12, r11
setb r11b
test byte [rsp + 0x80], r10b
movzx r8d, byte [rsp + 0x32]
jne 0x1401f473c
and dl, byte [rsp + 0x33]
jne 0x1401f473c
and r9b, r11b
jne 0x1401f473c
mov edx, ecx
and edx, 3
mov r9d, 4
cmovne r9, rdx
sub rcx, r9
add rax, rcx
lea rdx, [0x14030072a]
lea r12, [rdx + rcx]
movq xmm1, r14
lea r9, [r14 + rsi]
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 0x1401f46fa
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq r9, xmm1
mov r10, qword [rsp + 0x40]
movq qword [r10], xmm1
mov rbp, qword [rsp + 0x60]
mov r11, qword [rsp + 0x38]
jmp 0x1401f474e
mov rbp, qword [rsp + 0x60]
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r9, r14
lea r14, [0x14030072a]
inc r9
lea rcx, [0x14030072b]
cmp r12, rcx
je 0x1401f480b
movzx edx, byte [r12]
inc r12
mov byte [rax], dl
inc rax
mov qword [r10], r9
inc r9
cmp rax, r13
jne 0x1401f475f
mov r9, qword [rsp + 0x50]
sub r14, r12
inc r14
mov r13d, dword [rsp + 0x34]
mov rax, qword [rsp + 0x58]
js 0x1401f4e18
lea rcx, [0x14030072b]
cmp r12, rcx
je 0x1401f47f1
mov rbp, r9
movzx eax, byte [0x14031a2c8]
xor ecx, ecx
mov rdx, r14
call fcn.1401dbaa0
test rax, rax
je 0x1401f4e22
mov r8, rax
cmp r14, 0x20
setb al
mov rcx, r8
sub rcx, r12
cmp rcx, 0x20
setb cl
or cl, al
je 0x1401f481a
xor r13d, r13d
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r9, rbp
jmp 0x1401f4865
movzx r8d, byte [rsp + 0x32]
mov rbp, qword [rsp + 0x60]
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
jmp 0x1401f4ba1
mov r9, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x34]
jmp 0x1401f4b9c
movabs r13, 0x7fffffffffffffe0
and r13, r14
lea rax, [r12 + r13]
xor ecx, ecx
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r9, rbp
movdqu xmm0, xmmword [r12 + rcx]
movdqu xmm1, xmmword [r12 + rcx + 0x10]
movdqu xmmword [r8 + rcx], xmm0
movdqu xmmword [r8 + rcx + 0x10], xmm1
add rcx, 0x20
cmp r13, rcx
jne 0x1401f483a
cmp r14, r13
je 0x1401f48dc
mov r12, rax
lea rax, [0x14030072a]
mov ecx, eax
sub ecx, r12d
inc ecx
sub rax, r12
and ecx, 3
je 0x1401f488f
movzx edx, byte [r12]
inc r12
mov byte [r8 + r13], dl
inc r13
dec rcx
jne 0x1401f487b
cmp rax, 3
lea rcx, [0x14030072b]
jb 0x1401f48d3
movzx eax, byte [r12]
mov byte [r8 + r13], al
movzx eax, byte [r12 + 1]
mov byte [r8 + r13 + 1], al
movzx eax, byte [r12 + 2]
mov byte [r8 + r13 + 2], al
movzx eax, byte [r12 + 3]
add r12, 4
mov byte [r8 + r13 + 3], al
add r13, 4
cmp r12, rcx
jne 0x1401f489c
test r13, r13
je 0x1401f4971
mov qword [rsp + 0x50], r8
lea r12, [r8 + r13]
mov r8, qword [rsp + 0x90]
lea rdx, [r8 + r9]
mov rax, qword [r11]
sub rax, rdx
cmp rax, r13
jb 0x1401f4af4
lea rbp, [r9 + r13]
lea rdx, [rsi + r9]
add rsi, rbp
mov rcx, rsi
mov rsi, r9
call sub.msvcrt.dll_memmove
mov r11, qword [rsp + 0x38]
mov rdx, qword [r11 + 0x10]
cmp rdx, rbp
jne 0x1401f4936
mov r9, rbp
mov r13d, dword [rsp + 0x34]
mov r10, qword [rsp + 0x40]
jmp 0x1401f4b69
mov rax, qword [r11 + 8]
lea rcx, [rax + rdx]
add rsi, r13
mov r8, rdx
not r8
add r8, rsi
cmp r13, r8
mov r9, r8
cmovb r9, r13
inc r9
cmp r9, 0x25
jae 0x1401f49bb
mov r8, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x34]
mov r10, qword [rsp + 0x40]
jmp 0x1401f4b43
mov r13d, dword [rsp + 0x34]
jmp 0x1401f4b6e
mov qword [rsp + 0x20], 1
mov r8d, 1
mov r9d, 1
mov rcx, r11
mov rdx, qword [rsp + 0x68]
mov rsi, r10
call fcn.1401fa9a0
mov r10, rsi
mov r11, qword [rsp + 0x38]
movzx r8d, byte [rsp + 0x32]
mov rsi, qword [r11 + 8]
mov rax, qword [r11 + 0x10]
jmp 0x1401f4538
mov qword [rsp + 0x80], rbp
cmp r13, r8
cmovb r8, r13
lea r13, [r8 + rcx + 1]
add r11, 0x18
mov r10, qword [rsp + 0x50]
lea rbp, [r10 + r8]
inc rbp
cmp rcx, r11
setb byte [rsp + 0x33]
mov rsi, qword [rsp + 0x40]
cmp rsi, r13
setb byte [rsp + 0x4f]
cmp rcx, rbp
setb r8b
cmp r13, r10
seta r13b
cmp rsi, rbp
setb sil
cmp r11, r10
seta bpl
movzx r10d, byte [rsp + 0x4f]
test byte [rsp + 0x33], r10b
jne 0x1401f4b27
and r8b, r13b
mov r13d, dword [rsp + 0x34]
jne 0x1401f4aed
and sil, bpl
jne 0x1401f4aed
mov r8d, r9d
and r8d, 3
mov r10d, 4
cmovne r10, r8
sub r9, r10
mov rsi, qword [rsp + 0x50]
mov r8, rsi
add r8, r9
add rcx, r9
movq xmm1, rdx
add rdx, rax
add rdx, 2
pxor xmm0, xmm0
xor r10d, r10d
pcmpeqd xmm2, xmm2
mov rbp, qword [rsp + 0x80]
mov r11d, dword [rsi + r10]
mov dword [rdx + r10 - 2], r11d
psubq xmm1, xmm2
psubq xmm0, xmm2
add r10, 4
cmp r9, r10
jne 0x1401f4a79
paddq xmm0, xmm1
pshufd xmm1, xmm0, 0xee
paddq xmm1, xmm0
movq rdx, xmm1
mov r10, qword [rsp + 0x40]
movq qword [r10], xmm1
mov r11, qword [rsp + 0x38]
jmp 0x1401f4b43
mov qword [rsp + 0x20], 1
mov r8d, 1
mov r9d, 1
mov rcx, r11
mov rdx, qword [rsp + 0x58]
call fcn.1401fa9a0
mov rax, qword [rsp + 0x38]
mov rsi, qword [rax + 8]
mov r14, qword [rax + 0x10]
jmp 0x1401f456d
mov r8, qword [rsp + 0x50]
jmp 0x1401f4b31
mov qword [rsp + 0x20], 1
mov r9d, 1
mov rcx, r11
mov r8, r13
call fcn.1401fa9a0
mov r9, rbp
mov r8, qword [rsp + 0x90]
mov rax, qword [rsp + 0x38]
mov rsi, qword [rax + 8]
jmp 0x1401f4900
mov r8, qword [rsp + 0x50]
mov r13d, dword [rsp + 0x34]
mov r11, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x80]
add rax, rbp
inc rdx
cmp r8, r12
je 0x1401f4b66
movzx r9d, byte [r8]
inc r8
mov byte [rcx], r9b
inc rcx
mov qword [r10], rdx
inc rdx
cmp rcx, rax
jne 0x1401f4b49
mov r9, rbp
mov r8, qword [rsp + 0x50]
test r14, r14
je 0x1401f4b91
mov rcx, qword [0x14031a288]
xor edx, edx
mov rsi, r9
call fcn.1401fb9c4
mov r9, rsi
mov r10, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
movzx r8d, byte [rsp + 0x32]
mov rbp, qword [rsp + 0x60]
mov rax, qword [rsp + 0x58]
cmp rax, rbp
mov rax, qword [r10]
je 0x1401f4bf5
cmp r9, rax
jne 0x1401f4bbb
mov rax, r9
mov r14, qword [rsp + 0x90]
jmp 0x1401f4bef
mov rcx, qword [r11 + 8]
add r9, rcx
add rcx, rax
mov rdx, r9
mov r14, qword [rsp + 0x90]
mov r8, r14
mov rsi, rax
mov r12, r10
call sub.msvcrt.dll_memmove
mov r10, r12
mov rax, rsi
mov r11, qword [rsp + 0x38]
movzx r8d, byte [rsp + 0x32]
add rax, r14
mov qword [r10], rax
add ebp, 0xfffffffe
mov rsi, qword [r11 + 8]
test ebx, ebx
je 0x1401f4c3d
mov rdx, rax
mov rax, qword [rsp + 0x68]
mov rcx, rdx
cmp rdx, rax
jbe 0x1401f4c38
cmp byte [rsi + rax], 0xbf
mov rax, rcx
jg 0x1401f4c3d
mov rdx, rax
lea rax, str._redacted_
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov r8, qword [rsp + 0x68]
mov r9, rdx
call fcn.14005d870
mov rax, rcx
jne 0x1401f4c19
mov r14, qword [rsp + 0x68]
sub rax, r14
cmp rax, 3
jae 0x1401f4d54
mov r14d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea rcx, [rsp + 0xa8]
mov rdx, r11
mov r9d, ebx
mov rsi, r11
call fcn.1401f7c70
mov eax, dword [rsp + 0xa8]
cmp eax, 2
jne 0x1401f4cd8
movzx eax, byte [rsp + 0xac]
mov byte [rdi + 8], al
movabs rax, 0x7fffffffffffffe0
add rax, 0x20
mov qword [rdi], rax
cmp qword [rsi], 0
je 0x1401f4d40
mov r8, qword [rsi + 8]
mov rcx, qword [0x14031a288]
xor edx, edx
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401fb9c4
mov ecx, dword [rsp + 0xb4]
mov rdx, qword [rsp + 0xac]
mov r8, qword [rsi + 0x10]
mov qword [rdi + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [rdi], xmm0
mov r8, qword [rsp + 0xa0]
movdqu xmm0, xmmword [r8]
movdqu xmmword [rdi + 0x40], xmm0
movzx r8d, byte [r8 + 0x10]
mov byte [rdi + 0x50], r8b
mov dword [rdi + 0x18], eax
mov qword [rdi + 0x1c], rdx
mov dword [rdi + 0x24], ecx
movzx eax, word [rsp + 0x7e]
mov word [rdi + 0x28], ax
mov word [rdi + 0x2a], r15w
mov dword [rdi + 0x2c], ebx
mov eax, dword [rsp + 0x9c]
mov dword [rdi + 0x30], eax
mov dword [rdi + 0x34], r14d
mov dword [rdi + 0x38], r13d
mov dword [rdi + 0x3c], ebp
add rsp, 0xd8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx eax, word [rsi + r14]
xor eax, 0x2f3a
movzx ecx, byte [rsi + r14 + 2]
xor ecx, 0x2f
or cx, ax
mov r14d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x70]
jne 0x1401f4c61
jmp 0x1401f431e
mov rdx, rax
lea rax, str._redacted_
mov qword [rsp + 0x20], rax
mov rcx, rsi
mov r8, rbp
call fcn.14005d870
lea rax, str._redacted_
mov qword [rsp + 0x20], rax
mov rcx, r13
mov rdx, r12
mov r8, r15
mov r9, r12
call fcn.14005d870
lea rcx, [0x14030075f]
lea r8, str._redacted_
mov edx, 0x2a
call fcn.1400576c0
mov qword [rsp + 0xa8], 0
add rsi, rbp
lea rdx, [rsp + 0xa8]
mov rcx, rsi
call fcn.1401fb480
lea r8, str._redacted_
mov rcx, qword [rsp + 0x68]
mov rdx, rbp
call fcn.14005c3f0
lea r8, str._redacted_
mov rcx, rbp
call fcn.140057200
mov rdx, r14
xor ecx, ecx
call fcn.140033f20
mov rdx, r14
mov ecx, 1
call fcn.140033f20
int3