Function at 0x14009b5c9
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, 0x158
mov r12, r8
mov r14, rdx
mov rsi, rcx
mov rbx, qword [rsp + 0x1c0]
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, r8
mov qword [rsp + 0x70], r9
mov r8, r9
call fcn.14009e85a
mov r15d, dword [rdi]
mov r13, qword [rdi + 8]
mov rbp, qword [rdi + 0x10]
cmp r15d, 0x2f
je 0x14009b623
cmp r15d, 0x5c
jne 0x14009b7e9
mov qword [rsp + 0x78], r12
mov r12, rbx
mov qword [rsp + 0x68], r14
mov r14, qword [r14 + 0x30]
cmp r15d, 0x5c
jne 0x14009b650
test r14, r14
je 0x14009b650
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x38]
mov rcx, r14
xor edx, edx
call qword [rax + 0x28]
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r13
mov r8, rbp
call fcn.14009e85a
mov eax, dword [rbx]
mov rdi, qword [rbx + 8]
mov rbx, qword [rbx + 0x10]
cmp eax, 0x2f
je 0x14009b67e
cmp eax, 0x5c
jne 0x14009b937
mov qword [rsp + 0x78], rsi
cmp eax, 0x5c
jne 0x14009b69e
test r14, r14
je 0x14009b69e
mov rax, qword [rsp + 0x68]
mov rax, qword [rax + 0x38]
mov rcx, r14
xor edx, edx
call qword [rax + 0x28]
lea rdx, [0x140104fd2]
lea r8, [0x140104fd9]
mov rcx, qword [rsp + 0x68]
call fcn.14003099d
mov r14, rbx
sub r14, rdi
lea r13, [rsp + 0x80]
mov qword [r13], rdi
mov qword [rsp + 0x70], rbx
mov qword [r13 + 8], rbx
xor r15d, r15d
mov ebx, 0x2600
movabs rbp, 0x8000800800000000
xor r12d, r12d
xor esi, esi
mov rcx, r13
call fcn.1400297bc
mov ecx, 1
cmp eax, 0x3f
ja 0x14009b710
mov edx, eax
bt rbx, rdx
jae 0x14009b70a
mov sil, 1
add r15, rcx
jmp 0x14009b6e8
bt rbp, rdx
jb 0x14009b742
cmp eax, 0x110000
je 0x14009b742
cmp eax, 0x5c
je 0x14009b742
inc r12
cmp eax, 0x80
jb 0x14009b705
mov ecx, 2
cmp eax, 0x800
jb 0x14009b705
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
jmp 0x14009b705
mov qword [rsp + 0xc8], rdi
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xd0], rax
test sil, 1
jne 0x14009b83d
lea rax, [rsp + 0xc8]
lea r13, [rsp + 0xe0]
mov qword [r13], rax
mov qword [r13 + 8], r12
mov rsi, qword [rsp + 0x78]
mov rcx, r13
call fcn.14009ef11
cmp eax, 0x110000
jne 0x14009b77e
lea r9, [0x140105108]
mov rcx, rdi
mov rdx, r14
mov r8, r15
call fcn.14009dc5d
mov r13, rax
mov r12, rdx
mov rcx, rax
call fcn.14009ed3b
test al, al
jne 0x14009b888
mov rcx, r12
call fcn.14002ef6e
mov r15, rax
mov r14, rdx
mov rcx, rdx
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
jmp 0x14009bba1
test rbx, rbx
je 0x14009baa6
cmp r15d, 0x23
je 0x14009bd8e
cmp r15d, 0x3f
je 0x14009bd76
cmp r15d, 0x110000
jne 0x14009bdc4
cmp dword [rbx + 0x20], 0
je 0x14009c0cc
mov r8d, dword [rbx + 0x24]
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
lea r9, [0x140105010]
call fcn.14009dc5d
mov r8, rdx
jmp 0x14009c0d4
lea rbx, [rsp + 0x80]
lea rdx, [rsp + 0xc8]
mov rcx, rbx
mov r8, r12
call fcn.140099c1a
mov r13, qword [rbx + 8]
mov r12, qword [rbx + 0x10]
mov rcx, r13
mov rdx, r12
call fcn.14009ed3b
test al, al
mov rsi, qword [rsp + 0x78]
je 0x14009bb60
mov rcx, qword [rsp + 0x80]
mov rdx, r13
call fcn.14002b041
mov bpl, 1
mov r14d, 1
xor r15d, r15d
xor ebx, ebx
movups xmm0, xmmword [rsp + 0x141]
movaps xmmword [rsp + 0x120], xmm0
mov rcx, r15
mov rdx, r14
call fcn.14002b041
mov rax, qword [rsp + 0x68]
mov r15, qword [rax + 0x10]
mov rax, r15
shr rax, 0x20
mov rcx, r15
shl rcx, 0x20
or rcx, 0x900
test rax, rax
mov r14d, 0x901
cmove r14, rcx
test r14b, r14b
jne 0x14009ba90
shr r14, 0x20
test bl, bl
setne byte [rsp + 0xe0]
test bpl, bpl
je 0x14009bc22
mov r12, qword [rsp + 0x68]
mov rcx, r12
mov edx, 0x2f
call fcn.140099735
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0xe0]
mov rcx, r12
xor edx, edx
mov r9, r15
call fcn.14009d03e
jmp 0x14009bc43
lea rdx, [0x140104fd2]
lea r8, [0x140104fd9]
mov r14, qword [rsp + 0x68]
mov rcx, r14
call fcn.14003099d
mov rcx, r13
mov rdx, rbp
call fcn.14009ef76
xor ebx, ebx
mov ecx, 7
mov qword [rsp + 0xd8], rcx
test r12, r12
je 0x14009bc18
test al, al
jne 0x14009bc18
mov rbx, r12
mov rcx, r12
call fcn.14009aa41
mov rcx, rax
mov r8d, 0x2f
call fcn.140099868
test rax, rax
je 0x14009c22c
mov r8, rdx
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rax
mov r9d, 0x2f
call fcn.14009a527
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movups xmm3, xmmword [rdi + 0x2c]
movups xmmword [rsp + 0x10c], xmm3
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov eax, dword [rdi + 0x3c]
cmp eax, 0x110000
je 0x14009c22c
lea rcx, [rsp + 0x80]
mov rdx, qword [rcx + 0x40]
movups xmm0, xmmword [rsp + 0x10c]
movups xmmword [rcx + 0x2c], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movaps xmm1, xmmword [rsp + 0xf0]
movaps xmm2, xmmword [rsp + 0x100]
movaps xmmword [rcx + 0x20], xmm2
movaps xmmword [rcx + 0x10], xmm1
movaps xmmword [rcx], xmm0
mov dword [rcx + 0x3c], eax
mov qword [rcx + 0x40], rdx
call fcn.14009904c
test rax, rax
je 0x14009c238
mov r14, rax
mov rdi, rdx
mov rcx, rax
call fcn.14009ecb6
test al, al
mov r12, qword [rsp + 0x78]
je 0x14009bd2c
mov rbx, qword [rsp + 0x68]
mov rcx, rbx
mov edx, 0x2f
call fcn.140099735
mov r8, r14
add r8, rdi
mov rcx, rbx
mov rdx, r14
mov r14, rbx
call fcn.14003099d
xor ebx, ebx
jmp 0x14009bf19
mov byte [rsi + 8], 9
movabs rax, 0x8000000000000000
mov qword [rsi], rax
jmp 0x14009bc0e
lea rdx, str.file:____O
lea r8, [0x140105030]
mov rcx, r14
call fcn.14003099d
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov r9d, 7
mov rcx, r14
xor edx, edx
call fcn.14009d03e
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
mov r9d, 4
call fcn.14009e887
mov eax, dword [rdi]
cmp eax, 2
je 0x14009bf93
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r14 + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [rsi], xmm0
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rcx
mov dword [rsi + 0x24], edx
and word [rsi + 0x28], 0
movaps xmm0, xmmword [0x1400a5770]
movups xmmword [rsi + 0x2c], xmm0
mov dword [rsi + 0x3c], 7
mov byte [rsi + 0x40], 0
jmp 0x14009c1fa
mov rcx, r12
call fcn.14002ef6e
mov r15, rax
mov r14, rdx
mov rcx, rdx
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xd0]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
call fcn.14002b041
movabs rsi, 0x8000000000000000
cmp r15, rsi
je 0x14009bc02
mov qword [rsp + 0x70], rbx
mov bpl, 1
test r12, r12
je 0x14009be08
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r14
mov r8, r12
call fcn.140099cfb
mov r12, qword [rbx]
movabs rax, 0x8000000000000002
cmp r12, rax
jne 0x14009be14
mov bl, byte [rsp + 0x88]
mov rcx, r15
mov rdx, r14
call fcn.14002b041
mov r14d, ebx
mov rax, qword [rsp + 0x78]
mov byte [rax + 8], r14b
mov qword [rax], rsi
mov r14, qword [rsp + 0x68]
jmp 0x14009bfaa
mov r12, qword [rsp + 0x78]
jmp 0x14009bf19
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xe0]
mov rcx, qword [rsp + 0x68]
xor edx, edx
mov r9, rdi
call fcn.14009edee
mov rdi, rax
mov r15, rdx
cmp byte [rsp + 0xe0], 0
jne 0x14009bc81
lea rbx, [rsp + 0x80]
mov r8d, 7
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
mov r9, r14
call fcn.140099a62
mov rcx, rbx
call fcn.140006ee0
mov r14d, 7
xor ebx, ebx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov r15, qword [rsp + 0x68]
mov rdx, r15
xor r8d, r8d
mov r9d, 4
call fcn.14009e887
mov eax, dword [rdi]
cmp eax, 2
jne 0x14009bcd2
mov al, byte [rsp + 0x84]
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov r14, r15
jmp 0x14009bfaa
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r15 + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [r15]
movups xmmword [rsi], xmm0
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rcx
mov dword [rsi + 0x24], edx
and word [rsi + 0x28], 0
movabs rax, 0x700000004
mov qword [rsi + 0x2c], rax
mov dword [rsi + 0x34], 7
mov dword [rsi + 0x38], r14d
mov dword [rsi + 0x3c], r14d
mov byte [rsi + 0x40], bl
movaps xmm0, xmmword [rsp + 0x120]
jmp 0x14009c010
mov rcx, rbx
call fcn.14009f013
test rax, rax
je 0x14009bf12
mov r8, rdx
add r8, rax
mov r14, qword [rsp + 0x68]
mov rcx, r14
mov rdx, rax
call fcn.14003099d
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0xd8], rax
mov rax, rbx
mov bl, byte [rbx + 0x40]
movups xmm0, xmmword [rax + 0x41]
movaps xmmword [rsp + 0x130], xmm0
jmp 0x14009bf19
cmp dword [rbx + 0x18], 0
je 0x14009c019
lea rax, [rbx + 0x1c]
mov r15, qword [rsp + 0x70]
jmp 0x14009c02c
lea rdx, [rsp + 0x80]
mov ecx, 9
mov rdi, rdx
mov rax, rsi
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x20], rcx
mov rcx, rax
mov r8, rbx
mov r9, r12
call fcn.14009e34f
jmp 0x14009c1fa
mov rcx, r12
mov rdi, qword [rsp + 0x70]
mov rdx, rdi
call fcn.14009ef76
test al, al
je 0x14009beff
lea rdx, str.file:____O
lea r8, [0x140105030]
mov rcx, r14
call fcn.14003099d
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], rdi
jmp 0x14009bad2
xor ebx, ebx
mov rsi, qword [rsp + 0x78]
jmp 0x14009b896
mov r13, qword [rsp + 0x88]
mov rbx, qword [rsp + 0x90]
movabs rax, 0x8000000000000001
cmp r12, rax
mov rsi, qword [rsp + 0x78]
jle 0x14009be64
lea r8, str.localhost
mov r9d, 9
mov rcx, r13
mov rdx, rbx
call fcn.14009f897
test al, al
je 0x14009be64
mov rcx, r12
mov rdx, r13
call fcn.140099ce7
jmp 0x14009b894
lea rax, [rsp + 0xe0]
mov qword [rax], r12
mov qword [rax + 8], r13
mov qword [rax + 0x10], rbx
lea rcx, [rsp + 0xc8]
mov qword [rcx], rax
lea rax, [0x140104e30]
lea rdx, [rsp + 0x80]
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea r8, [0x140099423]
mov qword [rcx + 8], r8
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
mov rcx, qword [rsp + 0x68]
call fcn.140099703
test al, al
jne 0x14009c244
mov rax, qword [rsp + 0xf0]
lea rdx, [rsp + 0x80]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rdx], xmm0
lea rbx, [rsp + 0x140]
mov rcx, rbx
call fcn.140099c8c
xor ebp, ebp
mov bl, byte [rbx]
jmp 0x14009b896
cmp dword [rbx + 0x18], 0
je 0x14009c124
lea rax, [rbx + 0x1c]
jmp 0x14009c132
xor ebx, ebx
mov r14, qword [rsp + 0x68]
add r15d, 0xffffffd1
cmp r15d, 0x2d
ja 0x14009bf3b
movabs rax, 0x200000010001
bt rax, r15
jae 0x14009bf3b
mov r13, r12
mov rbp, qword [rsp + 0x70]
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], r13
mov rcx, r14
xor edx, edx
mov r15, qword [rsp + 0xd8]
mov r9, r15
call fcn.14009d03e
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
mov r9d, 4
call fcn.14009e887
mov eax, dword [rdi]
cmp eax, 2
jne 0x14009bfbb
mov al, byte [rsp + 0x84]
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rcx, qword [r14]
mov rdx, qword [r14 + 8]
call fcn.14002b041
jmp 0x14009c1fa
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r14 + 0x10]
mov qword [rsi + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [rsi], xmm0
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rcx
mov dword [rsi + 0x24], edx
and word [rsi + 0x28], 0
movabs rax, 0x700000004
mov qword [rsi + 0x2c], rax
mov dword [rsi + 0x34], 7
mov dword [rsi + 0x38], r15d
mov dword [rsi + 0x3c], r15d
mov byte [rsi + 0x40], bl
movaps xmm0, xmmword [rsp + 0x130]
movups xmmword [rsi + 0x41], xmm0
jmp 0x14009c1fa
cmp dword [rbx + 0x20], 0
mov r15, qword [rsp + 0x70]
je 0x14009c20f
lea rax, [rbx + 0x24]
mov r8d, dword [rax]
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
call fcn.14009e553
mov r8, rdx
add r8, rax
mov rcx, r14
mov rdx, rax
call fcn.14003099d
mov edi, dword [rbx + 0x2c]
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r12
mov r15, rbx
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r14
xor r8d, r8d
mov r9d, edi
call fcn.14009e887
mov eax, dword [rbx]
cmp eax, 2
je 0x14009bf93
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
movups xmm0, xmmword [r15 + 0x30]
mov r8d, dword [r15 + 0x28]
movups xmm1, xmmword [r14]
movups xmmword [rsi], xmm1
mov r9, qword [r14 + 0x10]
mov qword [rsi + 0x10], r9
mov dword [rsi + 0x18], eax
mov qword [rsi + 0x1c], rcx
mov dword [rsi + 0x24], edx
mov dword [rsi + 0x28], r8d
mov dword [rsi + 0x2c], edi
movups xmmword [rsi + 0x30], xmm0
movups xmm0, xmmword [r15 + 0x40]
movups xmmword [rsi + 0x40], xmm0
mov al, byte [r15 + 0x50]
jmp 0x14009c11c
mov rax, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
add r8, rax
mov rcx, r14
mov rdx, rax
call fcn.14003099d
movups xmm0, xmmword [rbx + 0x2c]
mov eax, dword [rbx + 0x28]
mov rcx, qword [rbx + 0x18]
movups xmm1, xmmword [r14]
movups xmmword [rsi], xmm1
mov rdx, qword [r14 + 0x10]
mov qword [rsi + 0x10], rdx
mov qword [rsi + 0x18], rcx
and dword [rsi + 0x20], 0
mov ecx, dword [rbx + 0x3c]
mov dword [rsi + 0x28], eax
movups xmmword [rsi + 0x2c], xmm0
mov dword [rsi + 0x3c], ecx
movups xmm0, xmmword [rbx + 0x40]
movups xmmword [rsi + 0x40], xmm0
mov al, byte [rbx + 0x50]
mov byte [rsi + 0x50], al
jmp 0x14009c1fa
cmp dword [rbx + 0x20], 0
je 0x14009c21c
lea rax, [rbx + 0x24]
mov r15, rsi
mov r8d, dword [rax]
mov rcx, qword [rbx + 8]
mov rdx, qword [rbx + 0x10]
call fcn.14009e553
mov r8, rdx
add r8, rax
mov rcx, r14
mov rdx, rax
call fcn.14003099d
mov rsi, r14
mov r14d, dword [rbx + 0x3c]
mov rcx, rsi
xor edx, edx
mov r8, r14
call fcn.14009ed99
lea r8, [rsp + 0x80]
mov byte [r8], 1
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r12
mov rcx, rsi
xor edx, edx
mov r9, r14
call fcn.14009d03e
lea r8, [rsp + 0x80]
mov ecx, 9
mov rdi, r8
rep movsq qword [rdi], qword [rsi]
mov r9d, dword [rbx + 0x2c]
mov ecx, dword [rbx + 0x30]
mov r10d, dword [rbx + 0x34]
mov r11d, dword [rbx + 0x38]
lea rsi, [rbx + 0x40]
movzx edi, word [rbx + 0x28]
movzx ebx, word [rbx + 0x2a]
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.14009d683
nop
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
jmp 0x14009c03f
mov r15, rsi
mov rax, qword [rbx + 8]
mov r8, qword [rbx + 0x10]
jmp 0x14009c148
lea rcx, [0x140104fe0]
call fcn.1400a1670
lea rcx, [0x140104ff8]
call fcn.1400a1670
lea rax, [0x1401050f0]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140104a48]
lea r8, [rsp + 0x80]
mov edx, 0x2b
call fcn.1400a15d0
int3