Function at 0x1400d5989
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 rbx, r9
mov r12, r8
mov r14, rdx
mov rdi, rcx
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, r8
mov r8, r9
call fcn.1400d8bbb
mov r15d, dword [rsi]
mov rbp, qword [rsi + 8]
mov r13, qword [rsi + 0x10]
cmp r15d, 0x2f
je 0x1400d5a1d
cmp r15d, 0x5c
je 0x1400d5a1d
mov rsi, qword [rsp + 0x1c0]
cmp r15d, 0x110000
jne 0x1400d5bc2
test rsi, rsi
je 0x1400d5edd
cmp dword [rsi + 0x20], 0
je 0x1400d5dc2
mov r8d, dword [rsi + 0x24]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
lea r9, [0x140157bf8]
call fcn.1400d7fcb
mov r8, rdx
jmp 0x1400d5dca
mov qword [rsp + 0x78], rdi
mov rdi, qword [r14 + 0x30]
cmp r15d, 0x5c
jne 0x1400d5a3d
test rdi, rdi
je 0x1400d5a3d
mov rax, qword [r14 + 0x38]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x28]
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rbp
mov r8, r13
call fcn.1400d8bbb
mov eax, dword [rsi]
mov rcx, qword [rsi + 8]
mov qword [rsp + 0x68], rcx
mov rsi, qword [rsi + 0x10]
cmp eax, 0x2f
je 0x1400d5a70
cmp eax, 0x5c
jne 0x1400d5c45
cmp eax, 0x5c
jne 0x1400d5a86
test rdi, rdi
je 0x1400d5a86
mov rax, qword [r14 + 0x38]
mov rcx, rdi
xor edx, edx
call qword [rax + 0x28]
lea rdx, [0x140157bba]
mov r8d, 7
mov rcx, r14
call fcn.14007555b
mov rdi, rsi
mov rax, qword [rsp + 0x68]
sub rdi, rax
lea r12, [rsp + 0x80]
mov qword [r12], rax
mov qword [rsp + 0x70], rsi
mov qword [r12 + 8], rsi
xor ebx, ebx
mov esi, 0x2600
movabs r13, 0x8000800800000000
xor r15d, r15d
xor ebp, ebp
mov rcx, r12
call fcn.1400d1f54
mov ecx, 1
cmp eax, 0x3f
ja 0x1400d5afa
mov edx, eax
bt rsi, rdx
jae 0x1400d5af4
mov bpl, 1
add rbx, rcx
jmp 0x1400d5ad2
bt r13, rdx
jb 0x1400d5b2c
cmp eax, 0x110000
je 0x1400d5b2c
cmp eax, 0x5c
je 0x1400d5b2c
inc r15
cmp eax, 0x80
jb 0x1400d5aef
mov ecx, 2
cmp eax, 0x800
jb 0x1400d5aef
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
jmp 0x1400d5aef
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xd8], rax
test bpl, 1
jne 0x1400d5bf2
lea rax, [rsp + 0xd0]
lea r12, [rsp + 0x80]
mov qword [r12], rax
mov qword [r12 + 8], r15
mov rcx, r12
call case.0x1400c6255.398
cmp eax, 0x110000
jne 0x1400d5b69
lea r9, [0x140157cf0]
mov rcx, rbx
mov rdx, qword [rsp + 0x68]
mov r8, rdi
call fcn.140046a33
mov rdi, rax
mov rbx, rdx
mov rcx, rax
call fcn.1400d9098
lea rsi, [rsp + 0x80]
test al, al
je 0x1400d5c9d
mov edx, 1
mov rcx, rsi
xor r8d, r8d
call fcn.1400d2046
jmp 0x1400d5cc5
test rsi, rsi
je 0x1400d5edd
cmp r15d, 0x23
je 0x1400d5e99
cmp r15d, 0x3f
jne 0x1400d5eca
cmp dword [rsi + 0x18], 0
je 0x1400d640d
lea rax, [rsi + 0x1c]
jmp 0x1400d641b
lea rsi, [rsp + 0x110]
lea rdx, [rsp + 0xd0]
mov rcx, rsi
mov r8, r15
call fcn.1400d1f78
mov rbx, qword [rsi + 8]
mov rdi, qword [rsi + 0x10]
mov rcx, rbx
mov rdx, rdi
call fcn.1400d9098
lea rsi, [rsp + 0x80]
test al, al
je 0x1400d5cea
mov edx, 1
mov rcx, rsi
xor r8d, r8d
call fcn.1400d2046
jmp 0x1400d5d12
lea rdx, [0x140157bba]
mov eax, 7
mov qword [rsp + 0x68], rax
mov r8d, 7
mov rcx, r14
call fcn.14007555b
mov rcx, rbp
mov rdx, r13
call fcn.1400d92ea
xor edi, edi
mov rdx, qword [rsp + 0x1c0]
test rdx, rdx
je 0x1400d61ee
test al, al
jne 0x1400d61ee
cmp dword [rdx + 0x18], 0
je 0x1400d60f1
lea rax, [rdx + 0x1c]
jmp 0x1400d60ff
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.1400d2046
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x70], rax
mov rdi, qword [rsi]
mov r12b, byte [rsi + 8]
movzx eax, byte [rsi + 0xf]
shl eax, 0x10
movzx ecx, word [rsi + 0xd]
or ecx, eax
shl rcx, 0x20
mov r13d, dword [rsi + 9]
or r13, rcx
mov r15, qword [rsi + 0x10]
jmp 0x1400d5d45
mov rcx, rsi
mov rdx, rbx
mov r8, rdi
call fcn.1400d2046
mov rax, qword [rsp + 0xd0]
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0xd8]
mov qword [rsp + 0x70], rax
mov rdi, qword [rsi]
mov r12b, byte [rsi + 8]
movzx eax, byte [rsi + 0xf]
shl eax, 0x10
movzx ecx, word [rsi + 0xd]
or ecx, eax
shl rcx, 0x20
mov r13d, dword [rsi + 9]
or r13, rcx
mov r15, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x110]
mov rdx, rbx
call fcn.1400d1167
movabs rcx, 0x8000000000000000
cmp rdi, rcx
je 0x1400d5dac
shl r13, 8
movzx ebx, r12b
or rbx, r13
mov bpl, 1
test r15, r15
je 0x1400d5dba
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rbx
mov r8, r15
call fcn.1400d20ac
mov r15, qword [rsi]
movabs rax, 0x8000000000000002
mov r12b, byte [rsi + 8]
cmp r15, rax
jne 0x1400d5e17
mov rcx, rdi
mov rdx, rbx
call fcn.1400d1167
movabs rcx, 0x8000000000000000
mov rax, qword [rsp + 0x78]
mov byte [rax + 8], r12b
jmp 0x1400d60e9
xor r15d, r15d
jmp 0x1400d603e
mov rax, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
mov rcx, r14
mov rdx, rax
call fcn.14007555b
mov rax, qword [r14 + 0x10]
mov qword [rdi + 0x10], rax
movups xmm0, xmmword [r14]
movups xmmword [rdi], xmm0
movups xmm0, xmmword [rsi + 0x2c]
movups xmm1, xmmword [rsi + 0x40]
movups xmmword [rdi + 0x40], xmm1
mov al, byte [rsi + 0x50]
mov byte [rdi + 0x50], al
mov eax, dword [rsi + 0x28]
mov rcx, qword [rsi + 0x18]
mov qword [rdi + 0x18], rcx
and dword [rdi + 0x20], 0
mov ecx, dword [rsi + 0x3c]
mov dword [rdi + 0x28], eax
movups xmmword [rdi + 0x2c], xmm0
mov dword [rdi + 0x3c], ecx
jmp 0x1400d637e
movzx eax, r12b
movzx ecx, byte [rsp + 0x8f]
shl ecx, 0x10
movzx edx, word [rsp + 0x8d]
or edx, ecx
mov r12d, dword [rsp + 0x89]
shl rdx, 0x28
shl r12, 8
or r12, rdx
or r12, rax
mov r13, qword [rsp + 0x90]
movabs rax, 0x8000000000000001
cmp r15, rax
mov rsi, qword [rsp + 0x70]
jle 0x1400d5fa9
lea r8, str.localhost
mov r9d, 9
mov rcx, r12
mov rdx, r13
call fcn.1400aa21e
test al, al
je 0x1400d5fa9
mov rcx, r15
mov rdx, r12
call fcn.1400636d8
xor r15d, r15d
jmp 0x1400d6043
lea rdx, [rsp + 0x80]
mov ecx, 9
mov rax, rdi
mov rdi, rdx
mov r8, rsi
mov rsi, r14
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], rbx
mov rcx, rax
mov r9, r12
call fcn.1400d868a
jmp 0x1400d637e
mov rcx, r12
mov rdx, rbx
call fcn.1400d92ea
test al, al
je 0x1400d63fa
lea rdx, str.file:____
mov r8d, 8
mov rcx, r14
call fcn.14007555b
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov r9d, 7
mov rcx, r14
xor edx, edx
call fcn.1400d735d
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
xor r8d, r8d
mov r9d, 4
call fcn.1400d8be8
mov eax, dword [rsi]
cmp eax, 2
jne 0x1400d5f61
mov al, byte [rsp + 0x84]
mov byte [rdi + 8], al
movabs rax, 0x8000000000000000
mov qword [rdi], rax
jmp 0x1400d6372
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r14 + 0x10]
mov qword [rdi + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [rdi], xmm0
mov dword [rdi + 0x18], eax
mov qword [rdi + 0x1c], rcx
mov dword [rdi + 0x24], edx
and word [rdi + 0x28], 0
movaps xmm0, xmmword [0x1400e4bb0]
movups xmmword [rdi + 0x2c], xmm0
mov dword [rdi + 0x3c], 7
mov byte [rdi + 0x40], 0
jmp 0x1400d637e
lea rax, [rsp + 0xe0]
mov qword [rax], r15
mov qword [rax + 8], r12
mov qword [rax + 0x10], r13
lea rcx, [rsp + 0x110]
mov qword [rcx], rax
lea rax, [0x140158bf0]
lea rdx, [rsp + 0x80]
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea r8, [0x1400d186d]
mov qword [rcx + 8], r8
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
mov rcx, r14
call fcn.1400d1b49
test al, al
jne 0x1400d6610
mov rax, qword [rsp + 0xf0]
lea rdx, [rsp + 0x80]
mov qword [rdx + 0x10], rax
movups xmm0, xmmword [rsp + 0xe0]
movaps xmmword [rdx], xmm0
lea rsi, [rsp + 0xff]
mov rcx, rsi
call fcn.1400d1feb
xor ebp, ebp
mov r15b, byte [rsi]
mov rsi, qword [rsp + 0x70]
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x110], xmm0
mov rcx, rdi
mov rdx, rbx
call fcn.1400d1167
mov rbx, qword [r14 + 0x10]
mov rax, rbx
shr rax, 0x20
mov rcx, rbx
shl rcx, 0x20
or rcx, 0x900
test rax, rax
mov edi, 0x901
cmove rdi, rcx
test dil, dil
jne 0x1400d60d6
shr rdi, 0x20
test r15b, r15b
setne byte [rsp + 0xe0]
test bpl, bpl
je 0x1400d62d1
mov rcx, r14
mov edx, 0x2f
call fcn.1400d1b75
mov qword [rsp + 0x28], rsi
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xe0]
mov rcx, r14
xor edx, edx
mov r9, rbx
call fcn.1400d735d
jmp 0x1400d62ed
mov rax, qword [rsp + 0x78]
mov byte [rax + 8], 9
movabs rcx, 0x8000000000000000
mov qword [rax], rcx
jmp 0x1400d6372
cmp dword [rdx + 0x20], 0
je 0x1400d64e1
lea rax, [rdx + 0x24]
mov r9d, dword [rax]
mov r8d, dword [rdx + 0x3c]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.1400d4f23
mov rcx, rax
mov r8d, 0x2f
call fcn.1400d1bd1
test rax, rax
je 0x1400d65ed
mov r8, rdx
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, rax
mov r9d, 0x2f
call fcn.1400d4a65
cmp dword [rsi + 0x34], 0x110000
je 0x1400d65f8
lea rax, [rsp + 0x110]
lea rsi, [rsp + 0x80]
mov ecx, 9
mov rdi, rax
rep movsq qword [rdi], qword [rsi]
mov rcx, rax
call fcn.14003c980
test rax, rax
je 0x1400d6604
mov rdi, rax
mov rsi, rdx
mov rcx, rax
call fcn.1400d9013
test al, al
je 0x1400d61ae
mov rcx, r14
mov edx, 0x2f
call fcn.1400d1b75
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.14007555b
jmp 0x1400d61ec
mov rsi, qword [rsp + 0x1c0]
mov rcx, rsi
call fcn.1400d9387
test rax, rax
je 0x1400d61ec
mov r8, rdx
mov rcx, r14
mov rdx, rax
call fcn.14007555b
mov rax, qword [r14 + 0x10]
mov qword [rsp + 0x68], rax
mov dil, byte [rsi + 0x40]
movups xmm0, xmmword [rsi + 0x41]
movaps xmmword [rsp + 0xe0], xmm0
jmp 0x1400d61ee
xor edi, edi
add r15d, 0xffffffd1
cmp r15d, 0x2d
ja 0x1400d6208
movabs rax, 0x200000010001
bt rax, r15
jb 0x1400d620e
mov r12, rbp
mov rbx, r13
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r14
xor edx, edx
mov rbx, qword [rsp + 0x68]
mov r9, rbx
call fcn.1400d735d
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
xor r8d, r8d
mov r9d, 4
call fcn.1400d8be8
mov eax, dword [rsi]
cmp eax, 2
je 0x1400d6356
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r14 + 0x10]
mov r9, qword [rsp + 0x78]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [r9], xmm0
movaps xmm0, xmmword [rsp + 0xe0]
movups xmmword [r9 + 0x41], xmm0
mov dword [r9 + 0x18], eax
mov qword [r9 + 0x1c], rcx
mov dword [r9 + 0x24], edx
and word [r9 + 0x28], 0
movabs rax, 0x700000004
mov qword [r9 + 0x2c], rax
mov dword [r9 + 0x34], 7
mov dword [r9 + 0x38], ebx
mov dword [r9 + 0x3c], ebx
mov byte [r9 + 0x40], dil
jmp 0x1400d637e
mov qword [rsp + 0x20], rsi
lea r8, [rsp + 0xe0]
mov rcx, r14
xor edx, edx
mov r9, qword [rsp + 0x68]
call fcn.1400d9162
mov rsi, rax
mov rbx, rdx
cmp byte [rsp + 0xe0], 0
jne 0x1400d6329
lea r15, [rsp + 0x80]
mov r8d, 7
mov rcx, r15
mov rdx, r14
mov r9, rdi
call fcn.1400d1dd2
mov rcx, r15
call fcn.140013970
mov edi, 7
xor r15d, r15d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rsi
lea rsi, [rsp + 0x80]
mov rcx, rsi
mov rdx, r14
xor r8d, r8d
mov r9d, 4
call fcn.1400d8be8
mov eax, dword [rsi]
cmp eax, 2
jne 0x1400d6393
mov al, byte [rsp + 0x84]
mov rcx, qword [rsp + 0x78]
mov byte [rcx + 8], al
movabs rax, 0x8000000000000000
mov qword [rcx], rax
mov rcx, qword [r14]
mov rdx, qword [r14 + 8]
call fcn.1400d1167
nop
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [r14 + 0x10]
mov r9, qword [rsp + 0x78]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [r9], xmm0
movaps xmm0, xmmword [rsp + 0x110]
movups xmmword [r9 + 0x41], xmm0
mov dword [r9 + 0x18], eax
mov qword [r9 + 0x1c], rcx
mov dword [r9 + 0x24], edx
and word [r9 + 0x28], 0
movabs rax, 0x700000004
mov qword [r9 + 0x2c], rax
mov dword [r9 + 0x34], 7
mov dword [r9 + 0x38], edi
mov dword [r9 + 0x3c], edi
mov byte [r9 + 0x40], r15b
jmp 0x1400d637e
cmp dword [rsi + 0x18], 0
je 0x1400d64f7
lea rax, [rsi + 0x1c]
jmp 0x1400d6505
cmp dword [rsi + 0x20], 0
je 0x1400d65cd
lea rax, [rsi + 0x24]
mov r15, rdi
mov r8d, dword [rax]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
call fcn.1400d88a5
mov r8, rdx
mov rcx, r14
mov rdx, rax
call fcn.14007555b
mov r13, rsi
mov esi, dword [rsi + 0x2c]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, r14
xor r8d, r8d
mov r9d, esi
call fcn.1400d8be8
mov eax, dword [rdi]
cmp eax, 2
jne 0x1400d647b
mov al, byte [rsp + 0x84]
mov rdi, r15
jmp 0x1400d5f4c
mov ecx, dword [rsp + 0x84]
mov rdx, qword [rsp + 0x88]
mov r8, qword [r14 + 0x10]
mov qword [r15 + 0x10], r8
movups xmm0, xmmword [r14]
movups xmmword [r15], xmm0
mov r8, qword [r13 + 0x30]
mov r9d, dword [r13 + 0x38]
movups xmm0, xmmword [r13 + 0x40]
movups xmmword [r15 + 0x40], xmm0
mov r10b, byte [r13 + 0x50]
mov byte [r15 + 0x50], r10b
mov r10d, dword [r13 + 0x28]
mov r11d, dword [r13 + 0x3c]
mov dword [r15 + 0x18], eax
mov dword [r15 + 0x1c], ecx
mov qword [r15 + 0x20], rdx
mov dword [r15 + 0x28], r10d
mov dword [r15 + 0x2c], esi
mov qword [r15 + 0x30], r8
mov dword [r15 + 0x38], r9d
mov dword [r15 + 0x3c], r11d
jmp 0x1400d637e
mov r8d, dword [rdx + 0x3c]
mov rcx, qword [rdx + 8]
mov rdx, qword [rdx + 0x10]
call fcn.1400d8ba3
jmp 0x1400d6113
cmp dword [rsi + 0x20], 0
je 0x1400d65dd
lea rax, [rsi + 0x24]
mov r15, rdi
mov r8d, dword [rax]
mov rcx, qword [rsi + 8]
mov rdx, qword [rsi + 0x10]
call fcn.1400d88a5
mov r8, rdx
mov rcx, r14
mov rdx, rax
call fcn.14007555b
mov r13d, dword [rsi + 0x3c]
mov rcx, r14
xor edx, edx
mov r8, r13
call fcn.1400d910d
lea r8, [rsp + 0x80]
mov byte [r8], 1
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r12
mov rcx, r14
xor edx, edx
mov r9, r13
call fcn.1400d735d
lea r8, [rsp + 0x80]
mov ecx, 9
mov rdi, r8
mov rbx, rsi
mov rsi, r14
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], r13d
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.1400d79c5
jmp 0x1400d637e
mov r15, rdi
mov rax, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
jmp 0x1400d6431
mov r15, rdi
mov rax, qword [rsi + 8]
mov r8, qword [rsi + 0x10]
jmp 0x1400d651b
mov dword [rsp + 0xb4], 0x110000
lea rcx, [0x140157bc8]
call fcn.1400de430
lea rcx, [0x140157be0]
call fcn.1400de430
lea rax, [0x140157cd8]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x140157618]
lea r8, [rsp + 0x80]
mov edx, 0x2b
call fcn.1400de330
int3