Function at 0x1401803e4
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.140189cc0
mov rdx, rax
mov qword [rbp + 8], rax
mov rcx, rbx
mov qword [rsp + 0x30], rax
mov rdi, rax
call fcn.14017bcac
mov rcx, rbx
mov dword [rsp + 0x48], eax
mov r15d, eax
call fcn.140189adc
test r15d, r15d
je 0x140180853
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.14018bc80
mov eax, dword [rbx + 0x34]
test eax, eax
jne 0x1401807ca
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.1401bf2d0
mov dword [rbx + 0x34], eax
test eax, eax
jne 0x1401807ca
cmp qword [r14 + 0x18], r12
je 0x1401807c1
lea r9, [rbp + 0x68]
mov rcx, r14
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x50]
call fcn.1401bf23c
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.14018b564
cmp dword [rbx + 0x34], r12d
jne 0x1401807c1
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 0x14018050a
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 0x1401807a5
mov r15, r12
mov qword [rsp + 0x60], r12
mov r14d, r12d
cmp r14d, edi
jge 0x1401807a1
mov r12, qword [rsp + 0x58]
lea rdx, [rsp + 0x60]
movsxd rcx, r14d
add rcx, r12
call fcn.1401bee54
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 0x1401805a3
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.1401c10c0
add dword [rbp - 0x78], eax
lea rdx, [rsp + 0x70]
mov r8, r15
mov byte [rbp - 0x47], r11b
mov rcx, rbx
call fcn.14018b748
xor r11d, r11d
cmp dword [rbx + 0x34], r11d
jne 0x14018079e
mov esi, dword [rbp - 0x78]
mov r15d, r11d
jmp 0x1401805ee
movsxd rcx, esi
add rcx, qword [rbp - 0x80]
cmp rdx, 0x7f
ja 0x1401805bc
and dl, 0x7f
mov eax, 1
mov byte [rcx], dl
jmp 0x1401805e2
cmp rdx, 0x3fff
ja 0x1401805dd
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 0x1401805e2
call fcn.140186174
mov esi, dword [rbp - 0x78]
mov r15d, dword [rbx + 0x34]
add esi, eax
mov dword [rbp - 0x78], esi
cmp dword [rsp + 0x38], 1
jne 0x140180660
cmp r14d, edi
jge 0x14018063d
movsxd rax, r14d
cmp byte [rax + r12], r11b
jne 0x14018063d
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 0x14018063d
movsxd rax, r14d
cmp byte [rax + r12], r11b
jne 0x14018063d
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 0x14018078b
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14018bba0
mov esi, dword [rbp - 0x78]
jmp 0x14018078b
movsxd rax, r14d
lea r8, [rbp + 0x70]
add r12, rax
lea rdx, [rsp + 0x3c]
mov rcx, r12
call fcn.140180b2c
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 0x1401806b4
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 0x140180784
xor edi, edi
test r15d, r15d
jne 0x140180781
mov r14, r12
mov r12d, edx
mov r15d, r13d
sub r12d, esi
sub r15d, edi
sub r12d, ecx
cmp r15d, r12d
jle 0x140180729
movsxd r13, edi
lea rdx, [rbp + 0x70]
add r13, r14
mov rcx, r13
call fcn.1401bf010
movsxd r15, eax
cmp r15d, r12d
jge 0x140180724
lea rcx, [r15 + r13]
lea rdx, [rbp + 0x70]
call fcn.1401bf010
mov edx, eax
lea ecx, [rax + r15]
cmp ecx, r12d
jg 0x140180724
add r15d, edx
lea rdx, [rbp + 0x70]
movsxd rcx, r15d
add rcx, r13
call fcn.1401bf010
mov edx, eax
add eax, r15d
cmp eax, r12d
jle 0x140180708
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 0x14018076d
lea rdx, [rsp + 0x70]
mov rcx, rbx
call fcn.14018bba0
mov ecx, dword [rbp - 0x68]
mov edx, dword [rbp + 0x60]
mov esi, dword [rbp - 0x78]
cmp edi, r13d
jge 0x14018077c
cmp dword [rbx + 0x34], 0
je 0x1401806c2
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 0x140180515
jmp 0x1401807a1
xor r12d, r12d
mov r14, qword [rbp]
cmp dword [rbx + 0x34], r12d
jne 0x1401807c1
mov rax, qword [r14 + 0x18]
mov rdx, qword [rax + 8]
mov qword [r14 + 0x18], rdx
cmp dword [rbx + 0x34], r12d
je 0x14018048e
mov rdi, qword [rbp + 8]
mov r15d, dword [rsp + 0x48]
mov rcx, r14
call fcn.1401bf090
lea r8, [rbp + 0x78]
mov rcx, rbx
lea rdx, [rsp + 0x70]
call fcn.14018b994
cmp dword [rdi + 0x14], r12d
jne 0x1401807fc
lea rcx, [rbx + 0x34]
lea rdx, [rsp + 0x30]
call fcn.1401895f0
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.140189a14
mov esi, dword [rbp + 0x78]
cmp dword [rbx + 0x34], r12d
jne 0x140180846
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.140189b04
cmp dword [rbx + 0x34], r12d
jne 0x1401808b5
mov rax, qword [rbx]
cmp dword [rax + 0x88], r12d
jle 0x1401808b5
test rdi, rdi
je 0x1401808b5
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.140181f24
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 0x140180905
mov r14, r12
cmp dword [rdi + r14 + 0x1c], r15d
jl 0x140180905
xor r9d, r9d
lea rdx, [rbp + 0x60]
mov r8d, esi
mov rcx, rbx
call fcn.140182034
mov rdi, qword [rbp + 0x60]
inc esi
mov edx, esi
mov r8, rdi
mov rcx, rbx
call fcn.140189b04
add r14, 0x10
cmp dword [rbx + 0x34], r12d
je 0x1401808cf
mov rdx, rdi
mov rcx, rbx
call fcn.140189ea4
mov rcx, rdi
add rsp, 0x118
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.140189e50