Function at 0x429b80
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 r12, rcx
mov edi, edx
sub rbx, rsi
je 0x42a126
movzx r10d, byte [rsi]
mov byte [rcx + 0x3c], r10b
cmp rbx, 1
je 0x42a126
movzx eax, byte [rsi + 1]
mov edx, 2
xor r8d, r8d
mov byte [rcx + 0x3d], al
xor ecx, ecx
jmp 0x429bd3
mov rdx, rax
cmp rdx, rbx
jae 0x42a126
lea rax, [rdx + 1]
movzx r11d, byte [rsi + rax - 1]
mov r9, r11
and r9d, 0x7f
shl r9, cl
add ecx, 7
or r8, r9
test r11b, r11b
js 0x429bd0
lea rcx, [rdx + 0x21]
mov qword [r12 + 0x40], r8
cmp rcx, rbx
ja 0x42a126
add rax, rsi
mov dword [r12 + 0x1c], ecx
mov qword [r12 + 0x48], rax
lea rax, [rdx + 0x25]
mov qword [r12 + 0x50], 0x20
cmp rax, rbx
ja 0x42a126
cmp dword [r12 + 0x18], 7
jne 0x429c42
cmp r10b, 0x11
ja 0x429d30
mov dword [r12 + 0x20], eax
xor ecx, ecx
xor edx, edx
nop dword [rax + rax]
cmp rbx, rax
jbe 0x42a126
add rax, 1
movzx r9d, byte [rsi + rax - 1]
mov r8, r9
and r8d, 0x7f
shl r8, cl
add ecx, 7
or rdx, r8
test r9b, r9b
js 0x429c50
mov qword [r12 + 0x70], rdx
xor ecx, ecx
xor edx, edx
nop dword [rax]
cmp rax, rbx
jae 0x42a126
add rax, 1
movzx r9d, byte [rsi + rax - 1]
mov r8, r9
and r8d, 0x7f
shl r8, cl
add ecx, 7
or rdx, r8
test r9b, r9b
js 0x429c88
mov qword [r12 + 0x78], rdx
xor ecx, ecx
xor edx, edx
jmp 0x429cc3
mov rax, r8
cmp rax, rbx
jae 0x42a126
lea r8, [rax + 1]
movzx r10d, byte [rsi + r8 - 1]
mov r9, r10
and r9d, 0x7f
shl r9, cl
add ecx, 7
or rdx, r9
test r10b, r10b
js 0x429cc0
mov qword [r12 + 0x80], rdx
cmp rdx, 1
jne 0x429d14
cmp rbx, r8
jbe 0x42a126
movzx edx, byte [rsi + r8]
mov byte [r12 + 0x88], dl
cmp dl, 0xff
je 0x429d70
xor eax, eax
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [rdx + 0x65]
cmp rbx, rcx
jb 0x42a126
mov qword [r12 + 0x60], 0x40
add rax, rsi
mov qword [r12 + 0x58], rax
lea rax, [rdx + 0x67]
cmp rbx, rax
jb 0x42a126
movzx edx, word [rsi + rdx + 0x65]
mov word [r12 + 0x68], dx
jmp 0x429c42
add rax, 2
xor ecx, ecx
xor r9d, r9d
nop dword [rax]
cmp rbx, rax
jbe 0x42a126
add rax, 1
movzx r8d, byte [rsi + rax - 1]
mov rdx, r8
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r9, rdx
test r8b, r8b
js 0x429d80
mov qword [r12 + 0x90], r9
xor ecx, ecx
xor ebp, ebp
nop dword [rax + rax]
cmp rbx, rax
jbe 0x42a126
add rax, 1
movzx r8d, byte [rsi + rax - 1]
mov rdx, r8
and edx, 0x7f
shl rdx, cl
add ecx, 7
or rbp, rdx
test r8b, r8b
js 0x429db8
mov qword [r12 + 0x98], rbp
xor ecx, ecx
xor r10d, r10d
cmp rbp, 1
jne 0x429d14
jmp 0x429e03
mov rax, r8
cmp rax, rbx
jae 0x42a126
lea r8, [rax + 1]
movzx r9d, byte [rsi + r8 - 1]
mov rdx, r9
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r10, rdx
test r9b, r9b
js 0x429e00
mov qword [r12 + 0xa0], r10
cmp rbx, r8
jbe 0x42a126
movzx edx, byte [rsi + r8]
lea ecx, [rdx - 2]
mov byte [r12 + 0xa8], dl
cmp cl, 1
ja 0x429d14
lea rcx, [rax + 2]
lea r13, [rax + 0x22]
mov dword [r12 + 0x28], ecx
cmp rbx, r13
jb 0x42a126
mov qword [r12 + 0xb8], 0x20
add rcx, rsi
mov qword [r12 + 0xb0], rcx
cmp dl, 3
jne 0x429ea0
cmp rbx, r13
je 0x42a126
movzx edx, byte [rsi + r13]
lea r13, [rax + 0x23]
mov byte [r12 + 0xc0], dl
xor ecx, ecx
xor r10d, r10d
nop dword [rax]
cmp rbx, r13
jbe 0x42a126
add r13, 1
movzx edx, byte [rsi + r13 - 1]
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x429ea8
lea r14, [r13 + r10]
mov qword [r12 + 0xc8], r10
lea r11, [rsi + r13]
mov dword [r12 + 0x2c], r13d
cmp rbx, r14
jb 0x42a126
xor r8d, r8d
test r10, r10
je 0x429f62
xor ecx, ecx
xor r15d, r15d
jmp 0x429f03
mov r8, rax
cmp r8, r10
jae 0x42a126
lea rax, [r8 + 1]
movzx r9d, byte [r11 + rax - 1]
mov rdx, r9
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r15, rdx
test r9b, r9b
js 0x429f00
cmp r15, 2
je 0x42a0d0
cmp r15, 3
je 0x42a070
cmp r15, 1
jne 0x429d14
add rax, r13
add r8, 0x21
mov dword [r12 + 0x30], eax
cmp r8, r10
ja 0x42a126
cmp r8, r10
jb 0x429ef5
mov dword [r12 + 0x24], r14d
cmp rbx, r14
je 0x42a126
cmp byte [rsi + r14], 0
jne 0x429d14
mov eax, r14d
cmp r14, rax
jne 0x429d14
add r14, 1
xor ecx, ecx
xor r8d, r8d
jmp 0x429f95
mov r14, r9
cmp rbx, r14
jbe 0x42a126
lea r9, [r14 + 1]
movzx edx, byte [rsi + r9 - 1]
mov rax, rdx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r8, rax
test dl, dl
js 0x429f92
mov qword [r12 + 0xf0], r8
mov eax, 1
test dil, dil
je 0x429d16
lea rdx, [r8 + 1]
lea rcx, [r12 + 0xf8]
shl rdx, 5
call fcn.00833320
mov rax, qword [r12]
mov edx, dword [r12 + 0x24]
mov ecx, dword [r12 + 0x20]
mov r8, qword [r12 + 0xf8]
add rdx, rax
add rcx, rax
call fcn.004293d0
cmp qword [r12 + 0xf0], 0
je 0x42a058
add r14, 0x21
lea rax, [rsi - 0x20]
cmp rbx, r14
jb 0x42a126
lea rcx, [rax + r14]
mov rdx, rbp
add r14, 0x20
add rbp, 1
movdqu xmm0, xmmword [rcx]
shl rdx, 5
add rdx, qword [r12 + 0xf8]
movups xmmword [rdx], xmm0
movdqu xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx + 0x10], xmm1
cmp qword [r12 + 0xf0], rbp
jae 0x42a01a
mov rcx, r12
call fcn.004298c0
mov eax, edi
jmp 0x429d16
xor ecx, ecx
xor r9d, r9d
nop dword [rax]
cmp rax, r10
jae 0x42a126
add rax, 1
movzx r8d, byte [r11 + rax - 1]
mov rdx, r8
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r9, rdx
test r8b, r8b
js 0x42a078
lea rdx, [r13 + rax]
lea r8, [rax + r9]
mov dword [r12 + 0x38], edx
cmp r8, r10
ja 0x42a126
add rax, r11
mov qword [r12 + 0xe8], r9
mov qword [r12 + 0xe0], rax
jmp 0x429f5d
xor ecx, ecx
xor r9d, r9d
nop dword [rax]
cmp rax, r10
jae 0x42a126
add rax, 1
movzx r8d, byte [r11 + rax - 1]
mov rdx, r8
and edx, 0x7f
shl rdx, cl
add ecx, 7
or r9, rdx
test r8b, r8b
js 0x42a0d8
lea rdx, [r13 + rax]
lea r8, [rax + r9]
mov dword [r12 + 0x34], edx
cmp r8, r10
ja 0x42a126
add rax, r11
mov qword [r12 + 0xd8], r9
mov qword [r12 + 0xd0], rax
jmp 0x429f5d
call fcn.0086d8f0
nop
nop dword [rax]
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
xor eax, eax
mov r13, qword [rdx]
mov rbx, qword [rdx + 8]
sub rbx, r13
mov r12, rcx
mov rsi, rdx
mov rbp, r8
mov edi, r9d
cmp rbx, 0x4b
ja 0x42a170
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
cmp rcx, rdx
je 0x42a1bc
mov rcx, qword [rcx]
mov rax, qword [r12 + 0x10]
sub rax, rcx
cmp rbx, rax
ja 0x42a1e0
mov r9, qword [r12 + 8]
mov r8, r9
sub r8, rcx
cmp rbx, r8
jbe 0x42a260
mov rax, rbx
test r8, r8
jne 0x42a228
mov r8, rax
mov rdx, r13
mov rcx, r9
call sub.msvcrt.dll_memmove
add rbx, qword [r12]
mov qword [r12 + 8], rbx
mov eax, dword [rbp]
movzx edx, dil
mov rcx, r12
mov dword [r12 + 0x18], eax
call fcn.00429b80
nop
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
test rbx, rbx
js 0x42a274
mov rcx, rbx
call fcn.0086bb00
mov r8, rbx
mov rdx, r13
mov rcx, rax
mov rsi, rax
call sub.msvcrt.dll_memcpy
mov rcx, qword [r12]
test rcx, rcx
je 0x42a210
call fcn.0086bab0
add rbx, rsi
mov qword [r12], rsi
mov qword [r12 + 0x10], rbx
mov qword [r12 + 8], rbx
jmp 0x42a1bc
mov rdx, r13
call sub.msvcrt.dll_memmove
mov r9, qword [r12 + 8]
mov rcx, qword [r12]
mov r8, qword [rsi + 8]
mov r13, r9
sub r13, rcx
mov rax, r8
add r13, qword [rsi]
sub rax, r13
jne 0x42a1a5
add rbx, rcx
jmp 0x42a1b7
mov r8, rbx
mov rdx, r13
call sub.msvcrt.dll_memmove
add rbx, qword [r12]
jmp 0x42a1b7
call fcn.0086eed0
mov rcx, rax
call fcn.0086bc50
call fcn.0086be60
xor eax, eax
jmp 0x42a15a