Function at 0x140152623
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, 0x168
mov r12, r9
mov rsi, rdx
mov rbx, rcx
mov r14, qword [rsp + 0x1d0]
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov qword [rsp + 0x68], r8
mov rdx, r8
mov r8, r9
call fcn.1401558ac
mov r15d, dword [rdi]
mov r13, qword [rdi + 8]
mov rbp, qword [rdi + 0x10]
cmp r15d, 0x2f
je 0x14015267d
cmp r15d, 0x5c
jne 0x14015282e
mov qword [rsp + 0x78], rbx
mov r14, qword [rsi + 0x30]
cmp r15d, 0x5c
jne 0x14015269d
test r14, r14
je 0x14015269d
mov rax, qword [rsi + 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.1401558ac
mov eax, dword [rbx]
mov rdi, qword [rbx + 8]
mov rbx, qword [rbx + 0x10]
cmp eax, 0x2f
je 0x1401526cb
cmp eax, 0x5c
jne 0x140152973
cmp eax, 0x5c
jne 0x1401526e1
test r14, r14
je 0x1401526e1
mov rax, qword [rsi + 0x38]
mov rcx, r14
xor edx, edx
call qword [rax + 0x28]
lea rdx, [0x14024bb4a]
mov r8d, 7
mov qword [rsp + 0x70], rsi
mov rcx, rsi
call fcn.14014ffc3
mov r14, rbx
sub r14, rdi
lea r13, [rsp + 0x80]
mov qword [r13], rdi
mov qword [rsp + 0x68], 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.14007537d
mov ecx, 1
cmp eax, 0x3f
ja 0x140152755
mov edx, eax
bt rbx, rdx
jae 0x14015274f
mov sil, 1
add r15, rcx
jmp 0x14015272d
bt rbp, rdx
jb 0x140152787
cmp eax, 0x110000
je 0x140152787
cmp eax, 0x5c
je 0x140152787
inc r12
cmp eax, 0x80
jb 0x14015274a
mov ecx, 2
cmp eax, 0x800
jb 0x14015274a
cmp eax, 0x10000
mov ecx, 4
sbb rcx, 0
jmp 0x14015274a
mov qword [rsp + 0xd0], rdi
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0xd8], rax
test sil, 1
jne 0x140152883
lea rax, [rsp + 0xd0]
lea r13, [rsp + 0xe0]
mov qword [r13], rax
mov qword [r13 + 8], r12
mov rsi, qword [rsp + 0x70]
mov rcx, r13
call fcn.140155f8b
cmp eax, 0x110000
jne 0x1401527c3
lea r9, [0x14024bc80]
mov rcx, r15
mov rdx, rdi
mov r8, r14
call fcn.140076ac4
mov r13, rax
mov r12, rdx
mov rcx, rax
call fcn.140155d9e
test al, al
jne 0x1401528ce
mov rcx, r12
call fcn.14007c4b4
mov r15, rax
mov r14, rdx
mov rcx, rdx
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
jmp 0x140152b97
test r14, r14
je 0x140152ac9
cmp r15d, 0x23
je 0x140152ea4
cmp r15d, 0x3f
je 0x140152e8a
cmp r15d, 0x110000
jne 0x140152ed1
cmp dword [r14 + 0x20], 0
je 0x14015311c
mov r8d, dword [r14 + 0x24]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
lea r9, [0x14024bb88]
call fcn.140154cb2
mov r8, rdx
jmp 0x140153124
lea rbx, [rsp + 0x80]
lea rdx, [rsp + 0xd0]
mov rcx, rbx
mov r8, r12
call fcn.140150c6b
mov r13, qword [rbx + 8]
mov r12, qword [rbx + 0x10]
mov rcx, r13
mov rdx, r12
call fcn.140155d9e
test al, al
mov rsi, qword [rsp + 0x70]
je 0x140152b56
mov rcx, qword [rsp + 0x80]
mov rdx, r13
call fcn.14007fe3e
mov bpl, 1
mov r14d, 1
xor r15d, r15d
xor ebx, ebx
movups xmm0, xmmword [rsp + 0x121]
movaps xmmword [rsp + 0x140], xmm0
mov rcx, r15
mov rdx, r14
call fcn.14007fe3e
mov r15, qword [rsi + 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 0x140152abb
shr r14, 0x20
test bl, bl
setne byte [rsp + 0xe0]
test bpl, bpl
je 0x140152c52
mov rcx, rsi
mov edx, 0x2f
call fcn.1401508e0
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r8, [rsp + 0xe0]
mov rcx, rsi
xor edx, edx
mov r9, r15
call fcn.140154079
jmp 0x140152c71
lea rdx, [0x14024bb4a]
mov r14d, 7
mov r8d, 7
mov rcx, rsi
call fcn.14014ffc3
mov rcx, r13
mov rdx, rbp
call fcn.140155ff0
xor ebx, ebx
mov rcx, qword [rsp + 0x1d0]
test rcx, rcx
je 0x140152d82
test al, al
jne 0x140152d82
call fcn.140151a8b
mov rcx, rax
mov r8d, 0x2f
call fcn.14015093e
test rax, rax
je 0x14015327e
mov r8, rdx
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rax
mov r9d, 0x2f
call fcn.1401515f4
mov eax, dword [rdi + 0x30]
mov dword [rsp + 0x110], eax
movups xmm0, xmmword [rdi]
movups xmm1, xmmword [rdi + 0x10]
movups xmm2, xmmword [rdi + 0x20]
movaps xmmword [rsp + 0x100], xmm2
movaps xmmword [rsp + 0xf0], xmm1
movaps xmmword [rsp + 0xe0], xmm0
mov eax, dword [rdi + 0x34]
movups xmm0, xmmword [rdi + 0x38]
movaps xmmword [rsp + 0x120], xmm0
cmp eax, 0x110000
je 0x14015327e
mov edx, dword [rsp + 0x110]
lea rcx, [rsp + 0x80]
mov dword [rcx + 0x30], edx
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 + 0x34], eax
movaps xmm0, xmmword [rsp + 0x120]
movups xmmword [rcx + 0x38], xmm0
call fcn.14006e1d5
test rax, rax
je 0x14015328a
mov rdi, rax
mov r14, rdx
mov rcx, rax
call fcn.140155d19
test al, al
je 0x140152d42
mov rcx, rsi
mov edx, 0x2f
call fcn.1401508e0
mov rcx, rsi
mov rdx, rdi
mov r8, r14
call fcn.14014ffc3
jmp 0x140152d7a
mov rcx, qword [rsp + 0x78]
mov byte [rcx + 8], 9
jmp 0x140152e03
lea rdx, str.file:___
mov r8d, 8
mov rcx, rsi
call fcn.14014ffc3
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], r12
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, 7
mov rcx, rsi
xor edx, edx
call fcn.140154079
add byte [rax - 0x77], cl
push rsp
and al, 0x28
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.1401558d9
mov eax, dword [rdi]
cmp eax, 2
jne 0x140152c0b
mov al, byte [rsp + 0x84]
mov byte [rbx + 8], al
movabs rax, 0x8000000000000000
mov qword [rbx], rax
jmp 0x140152e10
invalid
mov rcx, r12
call fcn.14007c4b4
mov r15, rax
mov r14, rdx
mov rcx, rdx
mov rdx, r13
mov r8, r12
call sub.VCRUNTIME140.dll_memcpy
mov rdi, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
call fcn.14007fe3e
movabs rsi, 0x8000000000000000
cmp r15, rsi
jne 0x140152bab
mov ebx, r14d
jmp 0x140152bf6
mov qword [rsp + 0x68], rbx
mov bpl, 1
test r12, r12
je 0x140152f85
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r14
mov r8, r12
call fcn.140150d4c
mov r12, qword [rbx]
movabs rax, 0x8000000000000002
mov bl, byte [rbx + 8]
or byte [rcx + 0x39], cl
invalid
jne 0x140152f19
mov rcx, r15
mov rdx, r14
call fcn.14007fe3e
mov rax, qword [rsp + 0x78]
mov byte [rax + 8], bl
or byte [rax - 0x77], cl
xor byte [rax - 0x75], cl
je 0x140152c29
jo 0x140152bf0
invalid
add al, byte [rax]
invalid
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [rsi + 0x10]
mov qword [rbx + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [rbx], xmm0
mov dword [rbx + 0x18], eax
mov qword [rbx + 0x1c], rcx
mov dword [rbx + 0x24], edx
and word [rbx + 0x28], 0
movaps xmm0, xmmword [0x14015fa10]
movups xmmword [rbx + 0x2c], xmm0
mov dword [rbx + 0x3c], 7
mov byte [rbx + 0x40], 0
jmp 0x140153249
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xe0]
mov rcx, rsi
xor edx, edx
ror byte [rcx - 0x77], cl
stc
call fcn.140155e68
xor dword [rax], eax
invalid
mov rdi, rax
mov r15, rdx
cmp byte [rsp + 0xe0], 0
mov esp, 0xe024
add byte [rax], al
jne 0x140152cad
lea rbx, [rsp + 0x80]
mov r8d, 7
mov rcx, rbx
mov rdx, rsi
mov r9, r14
call fcn.140150ad9
mov rcx, rbx
call fcn.140049b10
mov r14d, 7
xor ebx, ebx
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdi
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.1401558d9
mov eax, dword [rdi]
cmp eax, 2
je 0x140152df4
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsp + 0x78]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [r9], 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], r14d
mov dword [r9 + 0x3c], r14d
mov byte [r9 + 0x40], bl
movaps xmm0, xmmword [rsp + 0x140]
jmp 0x140152e80
mov rdi, qword [rsp + 0x1d0]
mov rcx, rdi
call fcn.14015608d
test rax, rax
je 0x140152d7a
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.14014ffc3
mov r14, qword [rsi + 0x10]
mov bl, byte [rdi + 0x40]
movups xmm0, xmmword [rdi + 0x41]
movaps xmmword [rsp + 0x150], xmm0
jmp 0x140152d82
xor ebx, ebx
mov r14d, 7
add r15d, 0xffffffd1
cmp r15d, 0x2d
ja 0x140152da4
movabs rax, 0x200000010001
bt rax, r15
jae 0x140152da4
mov r13, qword [rsp + 0x68]
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 r9, r14
call fcn.140154079
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], rax
lea rdi, [rsp + 0x80]
mov rcx, rdi
mov rdx, rsi
xor r8d, r8d
mov r9d, 4
call fcn.1401558d9
mov eax, dword [rdi]
cmp eax, 2
jne 0x140152e21
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 [rsi]
mov rdx, qword [rsi + 8]
call fcn.14007fe3e
jmp 0x140153249
mov rcx, qword [rsp + 0x84]
mov edx, dword [rsp + 0x8c]
mov r8, qword [rsi + 0x10]
mov r9, qword [rsp + 0x78]
mov qword [r9 + 0x10], r8
movups xmm0, xmmword [rsi]
movups xmmword [r9], 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], r14d
mov dword [r9 + 0x3c], r14d
mov byte [r9 + 0x40], bl
movaps xmm0, xmmword [rsp + 0x150]
movups xmmword [r9 + 0x41], xmm0
jmp 0x140153249
cmp dword [r14 + 0x18], 0
je 0x140153043
mov r15, r14
mov r14, rsi
lea rax, [r15 + 0x1c]
jmp 0x140153058
lea rdx, [rsp + 0x80]
mov ecx, 9
mov rdi, rdx
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], r12
mov rcx, rbx
mov r8, r14
mov r9, qword [rsp + 0x68]
call fcn.140155393
jmp 0x140153249
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
mov rdx, r12
call fcn.140155ff0
test al, al
je 0x14015302f
lea rdx, str.file:___
mov r8d, 8
mov rcx, rsi
call fcn.14014ffc3
lea r8, [rsp + 0x80]
mov byte [r8], 0
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rdi
jmp 0x140152af9
movzx eax, bl
movzx ecx, byte [rsp + 0x8f]
shl ecx, 0x10
movzx edx, word [rsp + 0x8d]
or edx, ecx
mov r13d, dword [rsp + 0x89]
shl rdx, 0x28
shl r13, 8
or r13, rdx
or r13, rax
mov rbx, qword [rsp + 0x90]
movabs rax, 0x8000000000000001
cmp r12, rax
jle 0x140152f91
lea r8, str.localhost
mov r9d, 9
mov rcx, r13
mov rdx, rbx
call fcn.14007c617
test al, al
je 0x140152f91
mov rcx, r12
mov rdx, r13
call fcn.140150d38
xor ebx, ebx
mov rsi, qword [rsp + 0x70]
jmp 0x1401528dc
lea rax, [rsp + 0xe0]
mov qword [rax], r12
mov qword [rax + 8], r13
mov qword [rax + 0x10], rbx
lea rcx, [rsp + 0xd0]
mov qword [rcx], rax
lea rax, [0x14024b9a8]
lea rdx, [rsp + 0x80]
mov qword [rdx], rax
mov eax, 1
mov qword [rdx + 8], rax
and qword [rdx + 0x20], 0
lea r8, [0x140150573]
mov qword [rcx + 8], r8
mov qword [rdx + 0x10], rcx
mov qword [rdx + 0x18], rax
mov rsi, qword [rsp + 0x70]
mov rcx, rsi
call fcn.140150878
test al, al
jne 0x140153296
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 + 0x120]
mov rcx, rbx
call fcn.140150cdd
xor ebp, ebp
mov bl, byte [rbx]
jmp 0x1401528dc
cmp dword [r14 + 0x18], 0
je 0x140153175
lea rax, [r14 + 0x1c]
jmp 0x140153184
cmp dword [r14 + 0x20], 0
mov r15, r14
mov r14, rsi
je 0x14015325e
lea rax, [r15 + 0x24]
mov rsi, rbx
mov r8d, dword [rax]
mov rcx, qword [r15 + 8]
mov rdx, qword [r15 + 0x10]
call fcn.140155596
mov r8, rdx
mov rcx, r14
mov rdx, rax
call fcn.14014ffc3
mov edi, dword [r15 + 0x2c]
mov qword [rsp + 0x28], r12
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
lea rbx, [rsp + 0x80]
mov rcx, rbx
mov rdx, r14
xor r8d, r8d
mov r9d, edi
call fcn.1401558d9
mov eax, dword [rbx]
cmp eax, 2
jne 0x1401530cb
mov al, byte [rsp + 0x84]
mov byte [rsi + 8], al
movabs rax, 0x8000000000000000
mov qword [rsi], rax
mov rsi, r14
jmp 0x140152e10
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]
mov byte [rsi + 0x50], al
jmp 0x140153249
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
mov rcx, rsi
mov rdx, rax
call fcn.14014ffc3
movups xmm0, xmmword [r14 + 0x2c]
mov eax, dword [r14 + 0x28]
mov rcx, qword [r14 + 0x18]
movups xmm1, xmmword [rsi]
movups xmmword [rbx], xmm1
mov rdx, qword [rsi + 0x10]
mov qword [rbx + 0x10], rdx
mov qword [rbx + 0x18], rcx
and dword [rbx + 0x20], 0
mov ecx, dword [r14 + 0x3c]
mov dword [rbx + 0x28], eax
movups xmmword [rbx + 0x2c], xmm0
mov dword [rbx + 0x3c], ecx
movups xmm0, xmmword [r14 + 0x40]
movups xmmword [rbx + 0x40], xmm0
mov al, byte [r14 + 0x50]
mov byte [rbx + 0x50], al
jmp 0x140153249
cmp dword [r14 + 0x20], 0
je 0x14015326e
lea rax, [r14 + 0x24]
mov r15, rbx
mov r8d, dword [rax]
mov rcx, qword [r14 + 8]
mov rdx, qword [r14 + 0x10]
call fcn.140155596
mov r8, rdx
mov rcx, rsi
mov rdx, rax
call fcn.14014ffc3
mov rbx, r14
mov r14d, dword [r14 + 0x3c]
mov rcx, rsi
xor edx, edx
mov r8, r14
call fcn.140155e13
lea r8, [rsp + 0x80]
mov byte [r8], 1
mov qword [rsp + 0x28], r12
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x20], rax
mov rcx, rsi
xor edx, edx
mov r9, r14
call fcn.140154079
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.1401546c6
nop
add rsp, 0x168
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rsi, rbx
mov rax, qword [r15 + 8]
mov r8, qword [r15 + 0x10]
jmp 0x14015306e
mov r15, rbx
mov rax, qword [r14 + 8]
mov r8, qword [r14 + 0x10]
jmp 0x14015319a
lea rcx, [0x14024bb58]
call fcn.140158770
lea rcx, [0x14024bb70]
call fcn.140158770
lea rax, [0x14024bc68]
mov qword [rsp + 0x20], rax
lea rcx, str.called__Result::unwrap____on_an__Err__value
lea r9, [0x14024b5d8]
lea r8, [rsp + 0x80]
mov edx, 0x2b
call fcn.1401586d0
int3