Function at 0x1401800d4
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x18]
sub rsp, 0x118
mov r14, qword [rcx + 0x18]
xor r12d, r12d
mov qword [rbp], r14
mov esi, r12d
mov dword [rbp + 0x78], r12d
mov rbx, rcx
call fcn.1401899b0
mov rdx, rax
mov qword [rbp + 8], rax
mov rcx, rbx
mov qword [rsp + 0x30], rax
mov rdi, rax
call fcn.14017b99c
mov rcx, rbx
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.1401897cc
test r15d, r15d
je 0x140180543
mov rcx, qword [rbx]
lea rdx, [rsp + 0x70]
mov r8d, r15d
mov r13d, dword [rcx + 0x84]
mov eax, dword [rcx + 0x5c]
mov rcx, rbx
mov dword [rbp + 0x60], r13d
mov dword [rsp + 0x38], eax
call fcn.14018b950
mov eax, dword [rbx + 0x34]
test eax, eax
jne 0x1401804ba
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.1401bef88
mov dword [rbx + 0x34], eax
test eax, eax
jne 0x1401804ba
cmp qword [r14 + 0x18], r12
je 0x1401804b1
lea r9, [rbp + 0x68]
mov rcx, r14
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
call fcn.1401beef4
mov rcx, qword [rsp + 0x50]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov r9, qword [rsp + 0x50]
lea rdx, [rsp + 0x70]
mov r8, rax
mov rcx, rbx
call fcn.14018b234
cmp dword [rbx + 0x34], r12d
jne 0x1401804b1
movsxd rdi, dword [rbp + 0x68]
movsxd rsi, dword [rbp - 0x78]
mov ecx, dword [rbp - 0x68]
add ecx, esi
lea eax, [rdi + 1]
add eax, ecx
cmp r13d, eax
jl 0x1401801fa
mov rdx, qword [rsp + 0x58]
mov rcx, rsi
add rcx, qword [rbp - 0x80]
mov r8, rdi
call sub.VCRUNTIME140.dll_memcpy
add dword [rbp - 0x78], edi
jmp 0x140180495
mov r15, r12
mov qword [rsp + 0x60], r12
mov r14d, r12d
cmp r14d, edi
jge 0x140180491
mov r12, qword [rsp + 0x58]
lea rdx, [rsp + 0x60]
movsxd rcx, r14d
add rcx, r12
call fcn.1401beb0c
mov rdx, qword [rsp + 0x60]
xor r11d, r11d
add r15, rdx
movzx eax, al
add r14d, eax
mov qword [rbp - 8], r15
mov dword [rsp + 0x44], r14d
cmp byte [rbp - 0x47], r11b
je 0x140180293
movzx edx, word [rbp - 0x78]
mov rcx, qword [rbp - 0x80]
movzx eax, dx
shr ax, 8
mov byte [rcx + 1], dl
mov rdx, r15
mov byte [rcx], al
movsxd rcx, dword [rbp - 0x78]
add rcx, qword [rbp - 0x80]
call fcn.1401c0d78
add dword [rbp - 0x78], eax
lea rdx, [rsp + 0x70]
mov r8, r15
mov byte [rbp - 0x47], r11b
mov rcx, rbx
call fcn.14018b418
xor r11d, r11d
cmp dword [rbx + 0x34], r11d
jne 0x14018048e
mov esi, dword [rbp - 0x78]
mov r15d, r11d
jmp 0x1401802de
movsxd rcx, esi
add rcx, qword [rbp - 0x80]
cmp rdx, 0x7f
ja 0x1401802ac
and dl, 0x7f
mov eax, 1
mov byte [rcx], dl
jmp 0x1401802d2
cmp rdx, 0x3fff
ja 0x1401802cd
mov rax, rdx
shr rax, 7
or al, 0x80
and dl, 0x7f
mov byte [rcx], al
mov byte [rcx + 1], dl
mov eax, 2
jmp 0x1401802d2
call fcn.140185e64
mov esi, dword [rbp - 0x78]
mov r15d, dword [rbx + 0x34]
add esi, eax
mov dword [rbp - 0x78], esi
cmp dword [rsp + 0x38], 1
jne 0x140180350
cmp r14d, edi
jge 0x14018032d
movsxd rax, r14d
cmp byte [rax + r12], r11b
jne 0x14018032d
mov rax, qword [rbp - 0x80]
inc r14d
movsxd rcx, esi
mov byte [rcx + rax], r11b
mov esi, dword [rbp - 0x78]
inc esi
mov dword [rbp - 0x78], esi
cmp r14d, edi
jge 0x14018032d
movsxd rax, r14d
cmp byte [rax + r12], r11b
jne 0x14018032d
mov rax, qword [rbp - 0x80]
movsxd rcx, esi
mov byte [rcx + rax], r11b
mov esi, dword [rbp - 0x78]
inc esi
mov dword [rbp - 0x78], esi
inc r14d
mov ecx, dword [rbp - 0x68]
add ecx, esi
cmp ecx, r13d
jl 0x14018047b
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14018b870
mov esi, dword [rbp - 0x78]
jmp 0x14018047b
movsxd rax, r14d
lea r8, [rbp + 0x70]
add r12, rax
lea rdx, [rsp + 0x3c]
mov rcx, r12
call fcn.14018081c
mov ecx, dword [rbp - 0x68]
mov r13d, dword [rsp + 0x3c]
mov edx, dword [rbp + 0x60]
add r13d, eax
mov dword [rsp + 0x40], r13d
lea eax, [rsi + rcx]
add eax, r13d
cmp eax, edx
jg 0x1401803a4
movsxd rcx, esi
mov rdx, r12
add rcx, qword [rbp - 0x80]
movsxd r8, r13d
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rbp - 0x78]
add esi, r13d
mov dword [rbp - 0x78], esi
jmp 0x140180474
xor edi, edi
test r15d, r15d
jne 0x140180471
mov r14, r12
mov r12d, edx
mov r15d, r13d
sub r12d, esi
sub r15d, edi
sub r12d, ecx
cmp r15d, r12d
jle 0x140180419
movsxd r13, edi
lea rdx, [rbp + 0x70]
add r13, r14
mov rcx, r13
call fcn.1401becc8
movsxd r15, eax
cmp r15d, r12d
jge 0x140180414
lea rcx, [r15 + r13]
lea rdx, [rbp + 0x70]
call fcn.1401becc8
mov edx, eax
lea ecx, [rax + r15]
cmp ecx, r12d
jg 0x140180414
add r15d, edx
lea rdx, [rbp + 0x70]
movsxd rcx, r15d
add rcx, r13
call fcn.1401becc8
mov edx, eax
add eax, r15d
cmp eax, r12d
jle 0x1401803f8
mov r13d, dword [rsp + 0x40]
movsxd rdx, edi
movsxd rcx, esi
add rdx, r14
add rcx, qword [rbp - 0x80]
movsxd r8, r15d
call sub.VCRUNTIME140.dll_memcpy
mov esi, dword [rbp - 0x78]
add edi, r15d
mov ecx, dword [rbp - 0x68]
add esi, r15d
mov edx, dword [rbp + 0x60]
mov dword [rbp - 0x78], esi
lea eax, [rsi + rcx]
cmp eax, edx
jl 0x14018045d
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14018b870
mov ecx, dword [rbp - 0x68]
mov edx, dword [rbp + 0x60]
mov esi, dword [rbp - 0x78]
cmp edi, r13d
jge 0x14018046c
cmp dword [rbx + 0x34], 0
je 0x1401803b2
mov r14d, dword [rsp + 0x44]
mov edi, dword [rbp + 0x68]
add r14d, r13d
mov r13d, dword [rbp + 0x60]
mov r15, qword [rbp - 8]
xor r12d, r12d
cmp dword [rbx + 0x34], r12d
je 0x140180205
jmp 0x140180491
xor r12d, r12d
mov r14, qword [rbp]
cmp dword [rbx + 0x34], r12d
jne 0x1401804b1
mov rax, qword [r14 + 0x18]
mov rdx, qword [rax + 8]
mov qword [r14 + 0x18], rdx
cmp dword [rbx + 0x34], r12d
je 0x14018017e
mov rdi, qword [rbp + 8]
mov r15d, dword [rsp + 0x48]
mov rcx, r14
call fcn.1401bed48
lea r8, [rbp + 0x78]
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.14018b664
cmp dword [rdi + 0x14], r12d
jne 0x1401804ec
lea rcx, [rbx + 0x34]
lea rdx, [rsp + 0x30]
call fcn.1401892e0
mov rdi, qword [rsp + 0x30]
lea rcx, [rbx + 0x34]
mov dword [rsp + 0x20], r12d
mov r9d, 1
xor r8d, r8d
mov rdx, rdi
call fcn.140189704
mov esi, dword [rbp + 0x78]
cmp dword [rbx + 0x34], r12d
jne 0x140180536
movsxd rcx, dword [rdi + 0x1c]
mov rdx, qword [rdi + 0x20]
lea r8, [rcx + rcx*2]
lea eax, [rcx + 1]
mov dword [rdi + 0x1c], eax
mov dword [rdx + r8*4], r15d
mov dword [rdx + r8*4 + 4], 1
mov dword [rdx + r8*4 + 8], esi
inc dword [rdi + 0x10]
mov r8, rdi
xor edx, edx
mov rcx, rbx
call fcn.1401897f4
cmp dword [rbx + 0x34], r12d
jne 0x1401805a5
mov rax, qword [rbx]
cmp dword [rax + 0x88], r12d
jle 0x1401805a5
test rdi, rdi
je 0x1401805a5
movsxd rcx, dword [rbx + 0x10]
xor edx, edx
mov r10, qword [rdi + 8]
movsxd rax, esi
add rax, r10
mov qword [rdi + 8], rax
mov r9, qword [rbx]
div rcx
mov r9d, dword [r9 + 0x88]
xor edx, edx
mov r8, rax
mov rax, r10
div rcx
lea rdx, [rsp + 0x30]
mov rcx, rbx
sub r8d, eax
imul r8d, dword [rdi + 0x14]
imul r8d, dword [rbx + 0x10]
call fcn.140181c14
mov rdi, qword [rsp + 0x30]
mov esi, r12d
mov rax, qword [rbx]
mov qword [rbp + 0x60], rdi
mov r15d, dword [rax + 0x8c]
cmp dword [rbx + 0x34], r12d
jne 0x1401805f5
mov r14, r12
cmp dword [rdi + r14 + 0x1c], r15d
jl 0x1401805f5
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, esi
mov rcx, rbx
call fcn.140181d24
mov rdi, qword [rbp + 0x60]
inc esi
mov edx, esi
mov r8, rdi
mov rcx, rbx
call fcn.1401897f4
add r14, 0x10
cmp dword [rbx + 0x34], r12d
je 0x1401805bf
mov rdx, rdi
mov rcx, rbx
call fcn.140189b94
mov rcx, rdi
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.140189b40