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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rsi, qword [rcx]
mov rbx, qword [rcx + 8]
mov rdi, rcx
mov r8d, edx
sub rbx, rsi
je 0x140034c57
movzx ebp, byte [rsi]
mov byte [rcx + 0x3c], bpl
cmp rbx, 1
je 0x140034c57
movzx eax, byte [rsi + 1]
mov edx, 2
xor r11d, r11d
mov byte [rcx + 0x3d], al
xor ecx, ecx
jmp 0x140034733
mov rdx, r9
cmp rdx, rbx
jae 0x140034c57
lea r9, [rdx + 1]
movzx r10d, byte [rsi + r9 - 1]
mov rax, r10
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test r10b, r10b
js 0x140034730
lea rax, [rdx + 0x21]
mov qword [rdi + 0x40], r11
cmp rbx, rax
jb 0x140034c57
mov dword [rdi + 0x1c], eax
add r9, rsi
lea rax, [rdx + 0x25]
mov qword [rdi + 0x48], r9
mov qword [rdi + 0x50], 0x20
cmp rbx, rax
jb 0x140034c57
cmp dword [rdi + 0x18], 7
jne 0x14003479a
cmp bpl, 0x11
ja 0x140034ae0
mov dword [rdi + 0x20], eax
xor ecx, ecx
xor r10d, r10d
nop word [rax + rax]
cmp rax, rbx
jae 0x140034c57
add rax, 1
movzx r9d, byte [rsi + rax - 1]
mov rdx, r9
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r10, rdx
test r9b, r9b
js 0x1400347a8
mov qword [rdi + 0x70], r10
xor ecx, ecx
xor r10d, r10d
nop dword [rax + rax]
cmp rax, rbx
jae 0x140034c57
add rax, 1
movzx r9d, byte [rsi + rax - 1]
mov rdx, r9
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r10, rdx
test r9b, r9b
js 0x1400347e0
mov qword [rdi + 0x78], r10
xor ecx, ecx
xor r11d, r11d
jmp 0x14003481b
mov rax, r9
cmp rax, rbx
jae 0x140034c57
lea r9, [rax + 1]
movzx r10d, byte [rsi + r9 - 1]
mov rdx, r10
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r11, rdx
test r10b, r10b
js 0x140034818
mov qword [rdi + 0x80], r11
cmp r11, 1
je 0x140034868
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp r9, rbx
jae 0x140034c57
movzx edx, byte [rsi + r9]
mov byte [rdi + 0x88], dl
cmp dl, 0xff
jne 0x14003484f
add rax, 2
xor ecx, ecx
xor r10d, r10d
nop word [rax + rax]
cmp rax, rbx
jae 0x140034c57
add rax, 1
movzx r9d, byte [rsi + rax - 1]
mov rdx, r9
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r10, rdx
test r9b, r9b
js 0x140034890
mov qword [rdi + 0x90], r10
xor ecx, ecx
xor ebp, ebp
nop word [rax + rax]
cmp rax, rbx
jae 0x140034c57
add rax, 1
movzx r9d, byte [rsi + rax - 1]
mov rdx, r9
and edx, 0x7f
shl rdx, cl
add ecx, 7
or rbp, rdx
test r9b, r9b
js 0x1400348c8
mov qword [rdi + 0x98], rbp
xor ecx, ecx
xor r11d, r11d
cmp rbp, 1
jne 0x14003484f
jmp 0x140034913
mov rax, r9
cmp rax, rbx
jae 0x140034c57
lea r9, [rax + 1]
movzx r10d, byte [rsi + r9 - 1]
mov rdx, r10
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r11, rdx
test r10b, r10b
js 0x140034910
mov qword [rdi + 0xa0], r11
cmp r9, rbx
jae 0x140034c57
movzx edx, byte [rsi + r9]
lea ecx, [rdx - 2]
mov byte [rdi + 0xa8], dl
cmp cl, 1
ja 0x14003484f
lea rcx, [rax + 2]
lea r13, [rax + 0x22]
mov dword [rdi + 0x28], ecx
cmp rbx, r13
jb 0x140034c57
mov qword [rdi + 0xb8], 0x20
add rcx, rsi
mov qword [rdi + 0xb0], rcx
cmp dl, 3
jne 0x1400349a7
cmp rbx, r13
je 0x140034c57
movzx edx, byte [rsi + r13]
lea r13, [rax + 0x23]
mov byte [rdi + 0xc0], dl
xor ecx, ecx
xor r11d, r11d
nop dword [rax]
cmp r13, rbx
jae 0x140034c57
add r13, 1
movzx edx, byte [rsi + r13 - 1]
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
js 0x1400349b0
lea r14, [r13 + r11]
mov qword [rdi + 0xc8], r11
lea r12, [rsi + r13]
mov dword [rdi + 0x2c], r13d
cmp rbx, r14
jb 0x140034c57
test r11, r11
je 0x140034a68
xor r9d, r9d
xor ecx, ecx
xor r15d, r15d
jmp 0x140034a0b
mov r9, rax
cmp r9, r11
jae 0x140034c57
lea rax, [r9 + 1]
movzx r10d, byte [r12 + rax - 1]
mov rdx, r10
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r15, rdx
test r10b, r10b
js 0x140034a08
cmp r15, 2
je 0x140034b72
cmp r15, 3
je 0x140034b17
cmp r15, 1
jne 0x14003484f
add rax, r13
add r9, 0x21
mov dword [rdi + 0x30], eax
cmp r11, r9
jb 0x140034c57
cmp r9, r11
jb 0x1400349fb
mov dword [rdi + 0x24], r14d
cmp rbx, r14
je 0x140034c57
cmp byte [rsi + r14], 0
jne 0x14003484f
mov rax, r14
shr rax, 0x20
jne 0x14003484f
add r14, 1
xor ecx, ecx
xor eax, eax
cmp r14, rbx
jae 0x140034c57
add r14, 1
movzx r9d, byte [rsi + r14 - 1]
mov rdx, r9
and edx, 0x7f
shl rdx, cl
add ecx, 7
or rax, rdx
test r9b, r9b
js 0x140034a95
mov qword [rdi + 0xf0], rax
test r8b, r8b
jne 0x140034bd2
mov eax, 1
jmp 0x140034851
lea rcx, [rdx + 0x65]
cmp rbx, rcx
jb 0x140034c57
add rax, rsi
mov qword [rdi + 0x60], 0x40
mov qword [rdi + 0x58], rax
lea rax, [rdx + 0x67]
cmp rbx, rax
jb 0x140034c57
movzx edx, word [rsi + rdx + 0x65]
mov word [rdi + 0x68], dx
jmp 0x14003479a
xor ecx, ecx
xor r10d, r10d
nop dword [rax]
cmp rax, r11
jae 0x140034c57
add rax, 1
movzx r9d, byte [r12 + rax - 1]
mov rdx, r9
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r10, rdx
test r9b, r9b
js 0x140034b20
lea rdx, [r13 + rax]
lea r9, [rax + r10]
mov dword [rdi + 0x38], edx
cmp r11, r9
jb 0x140034c57
add rax, r12
mov qword [rdi + 0xe8], r10
mov qword [rdi + 0xe0], rax
jmp 0x140034a63
xor ecx, ecx
xor r10d, r10d
nop word [rax + rax]
cmp rax, r11
jae 0x140034c57
add rax, 1
movzx r9d, byte [r12 + rax - 1]
mov rdx, r9
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r10, rdx
test r9b, r9b
js 0x140034b80
lea rdx, [r13 + rax]
lea r9, [rax + r10]
mov dword [rdi + 0x34], edx
cmp r11, r9
jb 0x140034c57
add rax, r12
mov qword [rdi + 0xd8], r10
mov qword [rdi + 0xd0], rax
jmp 0x140034a63
add rax, 1
lea rcx, [rdi + 0xf8]
shl rax, 5
mov rdx, rax
call fcn.140230a70
mov rax, qword [rdi]
mov edx, dword [rdi + 0x24]
mov ecx, dword [rdi + 0x20]
mov r8, qword [rdi + 0xf8]
add rdx, rax
add rcx, rax
call fcn.140033eb0
cmp qword [rdi + 0xf0], 0
je 0x140034c4a
sub rsi, 0x20
add r14, 0x20
cmp rbx, r14
jb 0x140034c57
lea rdx, [rsi + r14]
mov rax, rbp
add rbp, 1
movdqu xmm0, xmmword [rdx]
shl rax, 5
add rax, qword [rdi + 0xf8]
movups xmmword [rax], xmm0
movdqu xmm1, xmmword [rdx + 0x10]
movups xmmword [rax + 0x10], xmm1
cmp qword [rdi + 0xf0], rbp
jae 0x140034c12
mov rcx, rdi
call fcn.140034040
jmp 0x140034acc
call fcn.140268a20
nop
nop
nop
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbp, qword [rdx]
mov rbx, qword [rdx + 8]
sub rbx, rbp
mov r14, rbx
mov rsi, rcx
mov rdi, rdx
mov r13, r8
mov r12d, r9d
cmp rbx, 0x4b
ja 0x140034c98
xor eax, eax
jmp 0x140034cf0
cmp rcx, rdx
je 0x140034cdc
mov rcx, qword [rcx]
mov rax, qword [rsi + 0x10]
sub rax, rcx
cmp rax, rbx
jb 0x140034d00
mov rax, qword [rsi + 8]
mov r8, rax
sub r8, rcx
cmp r8, rbx
jae 0x140034d70
test r8, r8
jne 0x140034d40
mov r8, rbx
mov rdx, rbp
mov rcx, rax
call sub.msvcrt.dll_memmove
mov rbx, qword [rsi]
add rbx, r14
mov qword [rsi + 8], rbx
mov eax, dword [r13]
movzx edx, r12b
mov rcx, rsi
mov dword [rsi + 0x18], eax
call fcn.1400346e0
nop
add rsp, 0x20
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
test rbx, rbx
js 0x140034d88
mov rcx, rbx
call fcn.1402671b0
mov r8, rbx
mov rdx, rbp
mov rcx, rax
mov rdi, rax
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsi]
test rcx, rcx
je 0x140034d2f
call fcn.140267160
add rbx, rdi
mov qword [rsi], rdi
mov qword [rsi + 0x10], rbx
mov qword [rsi + 8], rbx
jmp 0x140034cdc
mov rdx, rbp
call sub.msvcrt.dll_memmove
mov rax, qword [rsi + 8]
mov rdx, qword [rsi]
mov rbx, qword [rdi + 8]
mov rbp, rax
sub rbp, rdx
add rbp, qword [rdi]
sub rbx, rbp
jne 0x140034cc4
lea rbx, [rdx + r14]
jmp 0x140034cd8
mov r8, rbx
mov rdx, rbp
call sub.msvcrt.dll_memmove
add rbx, qword [rsi]
jmp 0x140034cd8
call fcn.140269570
mov rcx, rax
call fcn.140267300
call fcn.1402674e0
xor eax, eax
jmp 0x140034cf0