Function at 0x1401179c0
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, 0x138
mov r12, r9
mov rsi, rdx
mov r14, rcx
mov r15b, byte [rsp + 0x1a0]
lea rbx, [rsp + 0x80]
mov qword [rsp + 0x78], r8
mov qword [rbx], r8
mov qword [rbx + 8], r9
mov rcx, rbx
call fcn.140114e78
mov edi, eax
mov r13, qword [rbx]
mov rbp, qword [rbx + 8]
cmp eax, 0x5c
je 0x140117a17
cmp edi, 0x2f
jne 0x140117abb
mov qword [rsp + 0x70], r14
mov r14, qword [rsi + 0x10]
cmp edi, 0x5c
jne 0x140117a36
test r14, r14
je 0x140117a36
mov rax, qword [rsi + 0x18]
mov rcx, r14
xor edx, edx
call qword [rax + 0x28]
lea r15, [rsp + 0x80]
mov qword [r15], r13
mov qword [r15 + 8], rbp
mov rcx, r15
call fcn.140114e78
mov rbx, qword [r15]
mov r15, qword [r15 + 8]
cmp eax, 0x2f
je 0x140117a62
cmp eax, 0x5c
jne 0x140117bbb
cmp eax, 0x5c
jne 0x140117a78
test r14, r14
je 0x140117a78
mov rax, qword [rsi + 0x18]
mov rcx, r14
xor edx, edx
call qword [rax + 0x28]
lea r14, [rsi + 0x28]
lea rdx, [0x1402cff42]
mov r8d, 7
mov rcx, r14
call fcn.140086f75
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rbx
mov r8, r15
call fcn.14011b3b5
mov bl, byte [rdi]
cmp byte [rdi + 0x18], 2
jne 0x140117b23
mov rax, qword [rsp + 0x70]
mov byte [rax], bl
jmp 0x140117f35
mov r13, qword [rsp + 0x1a8]
test r13, r13
je 0x140117caf
cmp edi, 0x23
je 0x140117f53
cmp edi, 0x3f
je 0x140117f80
cmp edi, 0x110000
jne 0x140117f94
cmp dword [r13 + 0x20], 0
je 0x140118187
mov r9d, dword [r13 + 0x24]
mov rdx, qword [r13 + 8]
test r9, r9
je 0x14011820f
mov rax, qword [r13 + 0x10]
cmp rax, r9
jbe 0x140118214
cmp byte [rdx + r9], 0xbf
jg 0x14011821a
jmp 0x1401186e5
movzx r12d, bl
movzx eax, byte [rsp + 0x87]
shl eax, 0x10
movzx ecx, word [rsp + 0x85]
or ecx, eax
shl rcx, 0x20
mov ebp, dword [rsp + 0x81]
or rbp, rcx
mov r15, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r13, qword [rsp + 0xa0]
mov rdi, qword [rsp + 0xa8]
test r8, r8
je 0x140117d73
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r15
call fcn.1401150b5
mov al, byte [rbx]
cmp al, 3
jne 0x140117d81
mov bl, byte [rsp + 0x81]
shl rbp, 8
or rbp, r12
je 0x140117aaf
mov rcx, qword [0x1402fea40]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x140117aaf
lea rcx, [rsi + 0x28]
lea rdx, [0x1402cff42]
mov eax, 7
mov qword [rsp + 0xd8], rax
mov r8d, 7
mov qword [rsp + 0xd0], rcx
call fcn.140086f75
mov rcx, r13
mov rdx, rbp
call fcn.14011b650
xor ebx, ebx
cmp qword [rsp + 0x1a8], 0
je 0x140117f41
test al, al
mov r15b, byte [rsp + 0x1a0]
jne 0x140118399
mov rcx, qword [rsp + 0x1a8]
call fcn.14011462c
test rdx, rdx
je 0x140118679
mov r14, rax
cmp byte [rax], 0x2f
jne 0x140118679
inc r14
dec rdx
lea rax, [rsp + 0x80]
mov qword [rax], r14
mov qword [rax + 8], rdx
xor r15d, r15d
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], rdx
mov qword [rax + 0x20], 1
movabs rcx, 0x2f0000002f
mov qword [rax + 0x28], rcx
mov qword [rax + 0x30], r15
mov qword [rax + 0x38], rdx
mov word [rax + 0x40], 1
lea rbx, [rsp + 0xe0]
mov rcx, rbx
mov rdx, rax
call fcn.1400731f3
cmp qword [rbx], r15
je 0x140117fe0
mov rax, qword [rsp + 0xe8]
mov rcx, qword [rsp + 0xb0]
add r14, rcx
sub rax, rcx
jmp 0x14011801c
lea rdi, [rsi + 0x28]
lea rdx, str.file:___
mov r8d, 8
mov rcx, rdi
call fcn.140086f75
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], r12
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 7
mov rcx, rsi
xor edx, edx
call fcn.1401199bc
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.14011a9b7
mov eax, dword [rbx]
cmp eax, 2
je 0x140118416
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [rdi + 0x10]
mov qword [r14 + 0x10], r8
movups xmm0, xmmword [rdi]
movups xmmword [r14], xmm0
mov dword [r14 + 0x18], eax
mov qword [r14 + 0x1c], rcx
mov dword [r14 + 0x24], edx
movaps xmm0, xmmword [0x14023ddd0]
movups xmmword [r14 + 0x28], xmm0
mov dword [r14 + 0x38], 7
mov word [r14 + 0x3c], 0
mov byte [r14 + 0x40], 0
jmp 0x140118665
mov qword [rsp + 0x78], rdi
xor ebx, ebx
xor edi, edi
jmp 0x140117e9c
mov dl, byte [rsp + 0x81]
mov ecx, dword [rsp + 0x82]
mov dword [rsp + 0xc8], ecx
movzx ecx, word [rsp + 0x86]
mov word [rsp + 0xcc], cx
mov rcx, qword [rsp + 0x88]
mov r8, qword [rsp + 0x90]
mov r9, qword [rsp + 0x98]
test al, al
mov qword [rsp + 0x78], rdi
jne 0x140117dec
cmp r9, 9
jne 0x140117dec
movabs r10, 0x736f686c61636f6c
xor r10, qword [r8]
movzx r11d, byte [r8 + 8]
xor r11, 0x74
or r11, r10
je 0x1401181f0
lea r10, [rsp + 0xe0]
mov byte [r10], al
mov byte [r10 + 1], dl
mov eax, dword [rsp + 0xc8]
mov dword [r10 + 2], eax
movzx eax, word [rsp + 0xcc]
mov word [r10 + 6], ax
mov qword [r10 + 8], rcx
mov qword [r10 + 0x10], r8
mov qword [r10 + 0x18], r9
lea rax, [rsp + 0x120]
mov qword [rax], r10
lea rcx, [0x14011481e]
mov qword [rax + 8], rcx
lea rcx, [rsp + 0x130]
mov qword [rcx], r14
lea r8, [rsp + 0x80]
mov qword [r8], 0
lea rdx, str.failed_to_write_whole_buffer
mov qword [r8 + 0x10], rdx
mov edx, 1
mov qword [r8 + 0x18], rdx
mov qword [r8 + 0x20], rax
mov qword [r8 + 0x28], rdx
lea rdx, [0x1402cfac8]
call fcn.140046b70
test al, al
jne 0x1401186a3
lea rbx, [rsp + 0x100]
lea rdx, [rsp + 0xe0]
mov rcx, rbx
call fcn.14011505f
mov dil, 1
mov bl, byte [rbx]
movups xmm0, xmmword [rsp + 0x101]
movaps xmmword [rsp + 0x120], xmm0
shl rbp, 8
or rbp, r12
je 0x140117ec7
mov rcx, qword [0x1402fea40]
xor edx, edx
mov r8, r15
call qword [sym.imp.kernel32.dll_HeapFree]
mov r12, qword [rsi + 0x38]
mov rax, r12
shr rax, 0x20
mov rcx, r12
shl rcx, 0x20
or rcx, 0x900
test rax, rax
mov r15d, 0x901
cmove r15, rcx
test r15b, r15b
jne 0x140117f2d
shr r15, 0x20
test bl, bl
setne byte [rsp + 0xe0]
test dil, dil
je 0x1401180b8
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xe0]
mov rcx, rsi
xor edx, edx
mov r9, r13
call fcn.14011b22d
jmp 0x1401180ff
mov rax, qword [rsp + 0x70]
mov byte [rax], 9
mov dword [rax + 0x18], 2
jmp 0x140118428
mov r14, qword [rsp + 0x70]
mov r15b, byte [rsp + 0x1a0]
jmp 0x14011839e
lea rdx, [rsp + 0x80]
mov ecx, 9
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], r12
mov rcx, r14
mov r8, r13
mov r9, qword [rsp + 0x78]
call fcn.14011a4d7
jmp 0x140118665
cmp dword [r13 + 0x18], 0
je 0x140118194
lea rax, [r13 + 0x1c]
jmp 0x1401181a3
mov rbx, qword [rsp + 0x78]
mov rcx, rbx
mov rdx, r12
call fcn.14011b650
test al, al
je 0x140118173
lea rdi, [rsi + 0x28]
lea rdx, str.file:___
mov r8d, 8
mov rcx, rdi
call fcn.140086f75
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rbx
jmp 0x140117ce3
cmp byte [rsp + 0xc1], 0
jne 0x140118689
cmp byte [rsp + 0xc0], 0
mov r14, qword [rsp + 0xb0]
mov rax, qword [rsp + 0xb8]
jne 0x140118011
cmp rax, r14
je 0x140118689
sub rax, r14
add r14, qword [rsp + 0x80]
mov r15b, byte [rsp + 0x1a0]
cmp rax, 2
jne 0x14011806a
movzx eax, byte [r14]
and eax, 0xffffffdf
add eax, 0xffffffbf
cmp eax, 0x19
ja 0x14011806a
cmp byte [r14 + 1], 0x3a
jne 0x14011806a
mov rdx, qword [rsi + 0x38]
cmp rdx, qword [rsi + 0x28]
jne 0x140118375
mov rbx, qword [rsp + 0xd0]
mov rcx, rbx
call fcn.140113d70
mov rcx, rbx
mov rdx, qword [rsi + 0x38]
jmp 0x14011837d
mov r14, qword [rsp + 0x1a8]
mov rcx, r14
call fcn.14011b6ea
test rax, rax
je 0x140118397
mov r8, rdx
mov rcx, qword [rsp + 0xd0]
mov rdx, rax
call fcn.140086f75
mov rax, qword [rsi + 0x38]
mov qword [rsp + 0xd8], rax
mov bl, byte [r14 + 0x40]
movups xmm0, xmmword [r14 + 0x41]
movaps xmmword [rsp + 0x100], xmm0
jmp 0x140118399
mov rax, r12
cmp r12, qword [r14]
mov rdi, qword [rsp + 0x78]
jne 0x1401180d4
mov rcx, r14
mov rdx, r12
call fcn.140113d70
mov rax, qword [rsi + 0x38]
mov rcx, qword [rsi + 0x30]
mov byte [rcx + rax], 0x2f
inc qword [rsi + 0x38]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], r13
lea r8, [rsp + 0xe0]
mov rcx, rsi
xor edx, edx
mov r9, r12
call fcn.1401199bc
mov rdi, rax
mov r12, rdx
cmp byte [rsp + 0xe0], 0
jne 0x1401185b3
lea rbx, [rsp + 0x80]
mov r8d, 7
mov rcx, rbx
mov rdx, r14
mov r9, r15
call fcn.140114cf6
mov r15, qword [rbx + 0x18]
mov rdx, qword [rbx + 0x20]
cmp r15, rdx
ja 0x1401185ab
mov r13, qword [rsp + 0x90]
mov rax, qword [r13 + 0x10]
mov rbx, rax
sub rbx, rdx
jb 0x1401185ab
mov qword [r13 + 0x10], r15
cmp rdx, r15
jne 0x14011858c
cmp rax, rdx
jne 0x1401185a4
jmp 0x1401185ab
cmp dword [r13 + 0x18], 0
je 0x14011826f
lea rax, [r13 + 0x1c]
jmp 0x14011827e
mov rdx, qword [r13 + 8]
mov r9, qword [r13 + 0x10]
jmp 0x14011821a
cmp dword [r13 + 0x20], 0
je 0x1401182aa
lea rax, [r13 + 0x24]
mov r9d, dword [rax]
mov rdx, qword [r13 + 8]
test r9, r9
je 0x1401181d1
mov r8, qword [r13 + 0x10]
cmp r8, r9
jbe 0x1401181df
cmp byte [rdx + r9], 0xbf
jle 0x1401186d1
mov ebp, r15d
mov r15, r14
mov r8, r9
jmp 0x1401182b8
mov ebp, r15d
mov r15, r14
xor r8d, r8d
jmp 0x1401182b8
jne 0x1401186d1
mov ebp, r15d
mov r15, r14
jmp 0x1401182b8
test rcx, rcx
je 0x140117d78
mov rcx, qword [0x1402fea40]
xor ebx, ebx
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x140117d7a
xor r9d, r9d
jmp 0x14011821a
jne 0x1401186e5
lea rcx, [rsi + 0x28]
mov r8, r9
call fcn.140086f75
mov rax, qword [rsi + 0x38]
mov qword [r14 + 0x10], rax
movups xmm0, xmmword [rsi + 0x28]
movups xmmword [r14], xmm0
movups xmm0, xmmword [r13 + 0x28]
movups xmm1, xmmword [r13 + 0x40]
movups xmmword [r14 + 0x40], xmm1
mov al, byte [r13 + 0x50]
mov byte [r14 + 0x50], al
mov rax, qword [r13 + 0x18]
mov rcx, qword [r13 + 0x38]
mov qword [r14 + 0x18], rax
mov dword [r14 + 0x20], 0
movups xmmword [r14 + 0x28], xmm0
mov qword [r14 + 0x38], rcx
jmp 0x140118665
cmp dword [r13 + 0x20], 0
je 0x1401184b9
lea rax, [r13 + 0x24]
mov r9d, dword [rax]
mov rdx, qword [r13 + 8]
test r9, r9
je 0x1401182a2
mov rax, qword [r13 + 0x10]
cmp rax, r9
jbe 0x140118364
cmp byte [rdx + r9], 0xbf
jle 0x1401186ee
mov r15, r14
jmp 0x1401184c4
mov ebp, r15d
mov r15, r14
mov rdx, qword [r13 + 8]
mov r8, qword [r13 + 0x10]
lea rbx, [rsi + 0x28]
mov rcx, rbx
call fcn.140086f75
mov edi, dword [r13 + 0x28]
mov qword [rsp + 0x28], r12
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
lea r14, [rsp + 0x80]
mov rcx, r14
mov rdx, rsi
mov r8d, ebp
mov r9d, edi
call fcn.14011a9b7
mov eax, dword [r14]
cmp eax, 2
jne 0x140118307
mov al, byte [rsp + 0x84]
mov r14, r15
jmp 0x14011841d
mov ecx, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x88]
mov r8, qword [rbx + 0x10]
mov qword [r15 + 0x10], r8
movups xmm0, xmmword [rbx]
movups xmmword [r15], xmm0
mov r8d, dword [r13 + 0x2c]
mov r9, qword [r13 + 0x30]
movups xmm0, xmmword [r13 + 0x40]
movups xmmword [r15 + 0x40], xmm0
mov r10b, byte [r13 + 0x50]
mov byte [r15 + 0x50], r10b
mov r10, qword [r13 + 0x38]
mov dword [r15 + 0x18], eax
mov dword [r15 + 0x1c], ecx
mov qword [r15 + 0x20], rdx
mov dword [r15 + 0x28], edi
mov dword [r15 + 0x2c], r8d
mov qword [r15 + 0x30], r9
mov qword [r15 + 0x38], r10
jmp 0x140118665
jne 0x1401186ee
mov r15, r14
mov r9, rax
jmp 0x1401184c4
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsi + 0x30]
mov byte [rax + rdx], 0x2f
inc qword [rsi + 0x38]
mov r8d, 2
mov rdx, r14
call fcn.140086f75
xor ebx, ebx
mov r14, qword [rsp + 0x70]
add edi, 0xffffffd1
cmp edi, 0x2d
ja 0x1401183be
movabs rax, 0x200000010001
bt rax, rdi
jae 0x1401183be
mov r13, qword [rsp + 0x78]
mov rbp, r12
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r13
mov rcx, rsi
xor edx, edx
mov r12, qword [rsp + 0xd8]
mov r9, r12
call fcn.1401199bc
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rsi
mov r8d, r15d
mov r9d, 4
call fcn.14011a9b7
mov eax, dword [rdi]
cmp eax, 2
jne 0x14011844b
mov al, byte [rsp + 0x84]
mov byte [r14], al
mov dword [r14 + 0x18], 2
cmp qword [rsi + 0x28], 0
je 0x140118665
mov r8, qword [rsi + 0x30]
mov rcx, qword [0x1402fea40]
xor edx, edx
call qword [sym.imp.kernel32.dll_HeapFree]
jmp 0x140118665
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r9, qword [rsp + 0xd0]
mov r8, qword [r9 + 0x10]
mov qword [r14 + 0x10], r8
movups xmm0, xmmword [r9]
movups xmmword [r14], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movups xmmword [r14 + 0x41], xmm0
mov dword [r14 + 0x18], eax
mov qword [r14 + 0x1c], rcx
mov dword [r14 + 0x24], edx
movabs rax, 0x700000004
mov qword [r14 + 0x28], rax
mov dword [r14 + 0x30], 7
mov dword [r14 + 0x34], r12d
mov dword [r14 + 0x38], r12d
mov word [r14 + 0x3c], 0
mov byte [r14 + 0x40], bl
jmp 0x140118665
mov r15, r14
mov rdx, qword [r13 + 8]
mov r9, qword [r13 + 0x10]
lea rcx, [rsi + 0x28]
mov r8, r9
call fcn.140086f75
mov r14d, dword [r13 + 0x38]
mov rcx, rsi
xor edx, edx
mov r8, r14
call fcn.14011aeb2
lea r8, [rsp + 0x80]
mov byte [r8], 1
mov qword [rsp + 0x28], r12
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov rcx, rsi
xor edx, edx
mov r9, r14
call fcn.1401199bc
lea r8, [rsp + 0x80]
mov ecx, 9
mov rdi, r8
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [r13 + 0x28]
mov ecx, dword [r13 + 0x2c]
mov r10d, dword [r13 + 0x30]
mov r11d, dword [r13 + 0x34]
mov bl, byte [r13 + 0x50]
lea rsi, [rsp + 0xe0]
mov byte [rsi + 0x10], bl
movups xmm0, xmmword [r13 + 0x40]
movaps xmmword [rsi], xmm0
movzx edi, word [r13 + 0x3c]
movzx ebx, word [r13 + 0x3e]
mov qword [rsp + 0x60], rdx
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x50], r14d
mov word [rsp + 0x48], bx
mov word [rsp + 0x40], di
mov qword [rsp + 0x38], rsi
mov dword [rsp + 0x30], r11d
mov dword [rsp + 0x28], r10d
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov rdx, r8
xor r8d, r8d
call fcn.14011a3b4
jmp 0x140118665
cmp rax, rdx
je 0x1401185ab
mov rax, qword [r13 + 8]
lea rcx, [rax + r15]
add rdx, rax
mov r8, rbx
call sub.VCRUNTIME140.dll_memmove
add rbx, r15
mov qword [r13 + 0x10], rbx
mov r15d, 7
xor ebx, ebx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rdi
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rsi
mov r8b, byte [rsp + 0x1a0]
mov r9d, 4
call fcn.14011a9b7
mov eax, dword [rdi]
cmp eax, 2
jne 0x1401185ff
mov al, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x70]
mov byte [rcx], al
mov dword [rcx + 0x18], 2
jmp 0x140118428
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r14 + 0x10]
mov r9, qword [rsp + 0x70]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [r9], xmm0
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [r9 + 0x41], xmm0
mov dword [r9 + 0x18], eax
mov qword [r9 + 0x1c], rcx
mov dword [r9 + 0x24], edx
movabs rax, 0x700000004
mov qword [r9 + 0x28], rax
mov dword [r9 + 0x30], 7
mov dword [r9 + 0x34], r15d
mov dword [r9 + 0x38], r15d
mov word [r9 + 0x3c], 0
mov byte [r9 + 0x40], bl
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1402cff50]
jmp 0x140118697
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, [0x1402cff68]
mov edx, 0x2b
call fcn.140237a10
ud2
lea rax, [0x1402d0050]
mov qword [rsp + 0x20], rax
lea rcx, [0x1402d200b]
lea r9, [0x1402cfb18]
lea r8, [rsp + 0x80]
mov edx, 0x2b
call fcn.140237ca0
ud2
lea rax, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001furl_2.3.1_srclib.rs
mov qword [rsp + 0x20], rax
mov rcx, rdx
mov rdx, r8
jmp 0x140118700
lea rcx, [0x1402cff88]
jmp 0x1401186f5
lea rcx, str.C:Userskylef.cargo_registry_srcindex.crates.io_6f17d22bba15001furl_2.3.1_srclib.rs
mov qword [rsp + 0x20], rcx
mov rcx, rdx
mov rdx, rax
xor r8d, r8d
call fcn.140237f00
ud2