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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1404e8f18]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r14, qword [rcx]
mov rdi, rcx
mov rsi, qword [rcx + 8]
mov byte [rbp - 0x50], dl
sub rsi, r14
je 0x140038d01
mov al, byte [r14]
mov byte [rcx + 0x3c], al
cmp rsi, 1
jbe 0x140038d01
mov al, byte [r14 + 1]
mov r15d, 2
mov byte [rcx + 0x3d], al
xor r9d, r9d
xor ecx, ecx
mov r8d, r15d
cmp rsi, r15
jbe 0x140038d01
mov r10d, r15d
lea r13d, [r15 + 0x7d]
lea r12d, [r15 + 5]
movzx edx, byte [r10 + r14]
inc r8
mov eax, edx
mov r10, r8
and rax, r13
shl rax, cl
add ecx, r12d
or r9, rax
test dl, dl
jns 0x1400385f4
cmp r8, rsi
jae 0x140038d01
jmp 0x1400385cc
lea rax, [r8 + 0x20]
mov qword [rdi + 0x40], r9
lea rcx, [r8 + 0x20]
cmp rax, rsi
ja 0x140038d01
lea rax, [r8 + r14]
mov qword [rdi + 0x48], rax
lea r8, [rcx + 4]
lea rax, [rcx + 4]
mov qword [rdi + 0x50], 0x20
mov dword [rdi + 0x1c], ecx
cmp rax, rsi
ja 0x140038d01
cmp dword [rdi + 0x18], r12d
jne 0x14003867b
cmp byte [rdi + 0x3c], 0x12
jb 0x14003867b
lea rax, [r8 + 0x40]
lea rbx, [r8 + 0x40]
cmp rax, rsi
ja 0x140038d01
lea rax, [r14 + r8]
mov qword [rdi + 0x58], rax
lea rax, [rbx + 2]
mov qword [rdi + 0x60], 0x40
cmp rax, rsi
ja 0x140038d01
lea rdx, [r14 + rbx]
mov r8, r15
lea rcx, [rdi + 0x68]
call fcn.140336c00
lea r8, [rbx + 2]
cmp dword [rdi + 0x18], 8
jne 0x1400386a4
lea rbx, [r8 + 0x18]
cmp rbx, rsi
ja 0x140038d0b
lea rdx, [r14 + r8]
mov r8d, 0x18
lea rcx, [rbp - 0x28]
call fcn.140336c00
mov r8, rbx
xor ebx, ebx
mov dword [rdi + 0x20], r8d
mov r9d, ebx
mov ecx, ebx
cmp r8, rsi
jae 0x140038d01
movzx edx, byte [r14 + r8]
inc r8
mov eax, edx
and rax, r13
shl rax, cl
add ecx, r12d
or r9, rax
test dl, dl
js 0x1400386af
mov qword [rdi + 0x70], r9
mov ecx, ebx
mov r9, rbx
cmp r8, rsi
jae 0x140038d01
movzx edx, byte [r14 + r8]
inc r8
mov eax, edx
and rax, r13
shl rax, cl
add ecx, r12d
or r9, rax
test dl, dl
js 0x1400386db
mov qword [rdi + 0x78], r9
mov r10, rbx
mov ecx, ebx
cmp r8, rsi
jae 0x140038d01
mov r9, r8
movzx edx, byte [r14 + r9]
lea r9, [r8 + 1]
mov eax, edx
and rax, r13
shl rax, cl
add ecx, r12d
or r10, rax
test dl, dl
jns 0x14003873c
mov r8, r9
cmp r9, rsi
jae 0x140038d01
jmp 0x140038713
mov qword [rdi + 0x80], r10
cmp r10, 1
jne 0x140038cf3
cmp r9, rsi
jae 0x140038d01
mov al, byte [r14 + r9]
lea r8, [r9 + 1]
mov byte [rdi + 0x88], al
cmp al, 0xff
jne 0x140038cf3
mov r9, rbx
mov ecx, ebx
cmp r8, rsi
jae 0x140038d01
movzx edx, byte [r14 + r8]
inc r8
mov eax, edx
and rax, r13
shl rax, cl
add ecx, r12d
or r9, rax
test dl, dl
js 0x140038771
mov qword [rdi + 0x90], r9
mov ecx, ebx
mov r9, rbx
cmp r8, rsi
jae 0x140038d01
movzx edx, byte [r14 + r8]
inc r8
mov eax, edx
and rax, r13
shl rax, cl
add ecx, r12d
or r9, rax
test dl, dl
js 0x1400387a0
mov rax, rbx
mov qword [rdi + 0x98], r9
mov r10d, dword [rdi + 0x18]
cmp r10d, 8
mov dword [rbp - 0x30], r10d
sete al
inc rax
cmp r9, rax
jne 0x140038cf3
mov r9, rbx
mov ecx, ebx
cmp r8, rsi
jae 0x140038d01
mov rax, r8
movzx edx, byte [r8 + r14]
lea r8, [rax + 1]
mov eax, edx
and rax, r13
shl rax, cl
add ecx, r12d
or r9, rax
test dl, dl
jns 0x140038822
mov rax, r8
cmp r8, rsi
jae 0x140038d01
jmp 0x1400387f9
mov qword [rdi + 0xa0], r9
cmp r8, rsi
jae 0x140038d01
mov al, byte [r14 + r8]
inc r8
mov byte [rdi + 0xa8], al
sub al, r15b
cmp al, 1
ja 0x140038cf3
lea rax, [r8 + 0x20]
mov dword [rdi + 0x28], r8d
cmp rax, rsi
ja 0x140038d01
lea rax, [r8 + r14]
add r8, 0x20
mov qword [rdi + 0xb0], rax
mov qword [rdi + 0xb8], 0x20
mov al, byte [rdi + 0xa8]
cmp r10d, 8
jne 0x140038992
cmp al, r15b
jne 0x140038cf3
mov r9, rbx
mov ecx, ebx
cmp r8, rsi
jae 0x140038d01
mov r10, r8
movzx edx, byte [r14 + r10]
inc r8
mov eax, edx
mov r10, r8
and rax, r13
shl rax, cl
add ecx, r12d
or r9, rax
test dl, dl
jns 0x1400388c7
cmp r8, rsi
jae 0x140038d01
jmp 0x14003889f
lea rax, [r8 + r9]
cmp rax, rsi
ja 0x140038d01
lea rcx, [r8 + r9]
cmp rcx, rsi
jae 0x140038d01
mov al, byte [r14 + rcx]
inc rcx
mov byte [rdi + 0xc0], al
cmp rcx, rsi
jae 0x140038d01
mov rax, rcx
inc rcx
cmp byte [r14 + rax], bl
jge 0x140038911
mov rax, rcx
cmp rcx, rsi
jae 0x140038d01
jmp 0x1400388fa
cmp rcx, rsi
jae 0x140038d01
lea rax, [rcx + 1]
cmp byte [r14 + rcx], r15b
jne 0x140038cf3
lea r8, [rax + 0x20]
add rax, 0x20
cmp rax, rsi
ja 0x140038d01
mov r9, rbx
mov ecx, ebx
cmp r8, rsi
jae 0x140038d01
mov r10, r8
movzx edx, byte [r10 + r14]
inc r8
mov eax, edx
mov r10, r8
and rax, r13
shl rax, cl
add ecx, r12d
or r9, rax
test dl, dl
jns 0x140038972
cmp r8, rsi
jae 0x140038d01
jmp 0x14003894a
lea rax, [r8 + r9]
lea rcx, [r8 + r9]
cmp rax, rsi
ja 0x140038d01
cmp rcx, rsi
jae 0x140038d01
lea r8, [rcx + 1]
jmp 0x1400389af
mov r10, r8
cmp al, 3
jne 0x1400389b2
cmp r8, rsi
jae 0x140038d01
mov al, byte [r14 + r8]
inc r8
mov byte [rdi + 0xc0], al
mov r10, r8
mov r11, rbx
mov ecx, ebx
cmp r8, rsi
jae 0x140038d01
movzx edx, byte [r14 + r10]
lea r10, [r8 + 1]
mov eax, edx
and rax, r13
shl rax, cl
add ecx, r12d
or r11, rax
test dl, dl
jns 0x1400389e3
mov r8, r10
cmp r10, rsi
jmp 0x1400389ba
mov qword [rdi + 0xc8], r11
lea rax, [r10 + r11]
mov dword [rdi + 0x2c], r10d
mov r9, rbx
mov r13, qword [rdi]
mov r15d, r10d
add r15, r13
cmp rax, rsi
ja 0x140038d01
lea r8, [r10 + r11]
mov r12b, 1
test r11, r11
je 0x140038b46
mov r10, rbx
mov ecx, ebx
cmp r9, r11
jae 0x140038cf7
movzx edx, byte [r9 + r15]
inc r9
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140038a1c
sub r10, 1
je 0x140038b1b
sub r10, 1
je 0x140038ab9
cmp r10, 1
jne 0x140038cf3
xor ecx, ecx
mov r10, r9
mov rax, r9
cmp r9, r11
jae 0x140038cf7
movzx edx, byte [r10 + r15]
lea r10, [rax + 1]
mov eax, edx
mov r9, r10
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
mov rax, r10
test dl, dl
js 0x140038a61
mov ecx, dword [rdi + 0x2c]
lea rax, [r10 + rbx]
add ecx, r10d
lea r9, [rbx + r10]
mov dword [rdi + 0x38], ecx
cmp rax, r11
ja 0x140038cf7
lea rax, [r15 + r10]
mov qword [rdi + 0xe0], rax
mov qword [rdi + 0xe8], rbx
jmp 0x140038b17
xor ecx, ecx
mov r10, r9
mov rax, r9
cmp r9, r11
jae 0x140038cf7
movzx edx, byte [r15 + r10]
lea r10, [rax + 1]
mov eax, edx
mov r9, r10
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
mov rax, r10
test dl, dl
js 0x140038ac1
mov ecx, dword [rdi + 0x2c]
lea rax, [r10 + rbx]
add ecx, r10d
lea r9, [r10 + rbx]
mov dword [rdi + 0x34], ecx
cmp rax, r11
ja 0x140038cf7
lea rax, [r15 + r10]
mov qword [rdi + 0xd0], rax
mov qword [rdi + 0xd8], rbx
xor ebx, ebx
jmp 0x140038b3d
test r12b, r12b
je 0x140038b2c
mov ecx, dword [rdi + 0x2c]
mov r12b, bl
add ecx, r9d
mov dword [rdi + 0x30], ecx
lea rax, [r9 + 0x20]
cmp rax, r11
ja 0x140038cf7
add r9, 0x20
cmp r9, r11
jb 0x140038a17
cmp dword [rbp - 0x30], 8
jne 0x140038b88
cmp r8, rsi
jae 0x140038d01
lea rax, [r14 + r8]
inc r8
cmp byte [rax], bl
jl 0x140038b4c
cmp r8, rsi
jae 0x140038d01
lea rax, [r14 + r8]
inc r8
cmp byte [rax], bl
jl 0x140038b60
cmp r8, rsi
jae 0x140038d01
lea rax, [r14 + r8]
inc r8
cmp byte [rax], bl
jl 0x140038b74
mov dword [rdi + 0x24], r8d
cmp r8, rsi
jae 0x140038d01
lea r12, [r8 + 1]
cmp byte [r14 + r8], bl
jne 0x140038cf3
mov ecx, r8d
lea rax, [rcx + 1]
cmp r12, rax
jne 0x140038cf3
cmp byte [rcx + r13], bl
jne 0x140038cf3
mov r8, rbx
mov ecx, ebx
cmp r12, rsi
jae 0x140038d01
movzx edx, byte [r14 + r12]
inc r12
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r8, rax
test dl, dl
js 0x140038bc2
mov qword [rdi + 0xf0], r8
cmp byte [rbp - 0x50], bl
je 0x140038cc7
lea r15, [rdi + 0xf8]
mov rdx, qword [r15]
lea rcx, [r8 + 1]
mov rax, qword [r15 + 8]
sub rax, rdx
shl rcx, 5
cmp rcx, rax
jae 0x140038c1d
lea rax, [rcx + rdx]
mov qword [r15 + 8], rax
jmp 0x140038c50
jbe 0x140038c50
mov rax, qword [r15 + 0x10]
sub rax, rdx
cmp rcx, rax
jbe 0x140038c3c
mov rdx, rcx
lea r8, [rbp - 0x50]
mov rcx, r15
call fcn.14002a7b8
jmp 0x140038c50
lea rbx, [rcx + rdx]
mov rcx, qword [r15 + 8]
mov rdx, rbx
call fcn.140026adc
mov qword [r15 + 8], rbx
mov edx, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x20]
add rdx, qword [rdi]
add rcx, qword [rdi]
mov r8, qword [r15]
call fcn.140038498
mov r13d, 1
cmp r13, qword [rdi + 0xf0]
ja 0x140038cbf
lea r9d, [r13 + 0x1f]
lea rbx, [r14 + r12]
mov ecx, r9d
mov r12d, r9d
mov qword [rbp - 0x30], rcx
sub r12, r14
lea rax, [r12 + rbx]
cmp rax, rsi
ja 0x140038d01
add rcx, qword [r15]
mov rdx, rbx
mov r8, r9
add rbx, r9
call fcn.140336c00
mov rcx, qword [rbp - 0x30]
mov r9d, 0x20
add rcx, r9
inc r13
mov qword [rbp - 0x30], rcx
cmp r13, qword [rdi + 0xf0]
jbe 0x140038c88
mov rcx, rdi
call fcn.140038224
mov al, 1
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1403358f0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
xor al, al
jmp 0x140038cc9
lea rcx, [rbp - 0x28]
call fcn.140038528
int3
lea rcx, [rbp - 0x48]
call fcn.140038528
int3
lea rcx, [rbp - 0x48]
call fcn.140038528
int3