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

Disassembly:
push rbx
push rsi
push rdi
sub rsp, 0x30
mov rdi, qword [rcx]
mov rsi, rcx
mov rbx, qword [rcx + 8]
sub rbx, rdi
je 0x14004361a
movzx eax, byte [rdi]
mov byte [rcx + 0x3c], al
cmp rbx, 1
jbe 0x140043620
movzx eax, byte [rdi + 1]
mov r8d, 2
mov qword [rsp + 0x60], r13
xor r13d, r13d
mov byte [rcx + 0x3d], al
mov r9d, r13d
mov ecx, r13d
cmp rbx, r8
jbe 0x140043602
nop
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
jns 0x140042ef5
cmp r8, rbx
jae 0x140043602
jmp 0x140042ed0
lea rax, [r8 + 0x20]
mov qword [rsi + 0x40], r9
cmp rax, rbx
ja 0x140043626
lea rax, [r8 + rdi]
mov qword [rsp + 0x50], rbp
mov qword [rsi + 0x48], rax
mov ebp, 0x20
lea rax, [r8 + 0x20]
mov qword [rsi + 0x50], rbp
lea r8, [rax + 4]
mov dword [rsi + 0x1c], eax
cmp r8, rbx
ja 0x14004362c
mov r11d, dword [rsi + 0x18]
mov r9, r8
cmp r11d, 6
jne 0x140042f7c
cmp byte [rsi + 0x3c], 0x12
jb 0x140042f92
lea rax, [r8 + 0x40]
cmp rax, rbx
ja 0x140043632
lea rax, [r8 + rdi]
lea r9, [r8 + 0x42]
mov qword [rsi + 0x58], rax
mov qword [rsi + 0x60], 0x40
cmp r9, rbx
ja 0x140043638
movzx eax, word [r8 + rdi + 0x40]
mov r8, r9
mov word [rsi + 0x68], ax
jmp 0x140042f92
cmp r11d, 7
jne 0x140042f92
add r8, 0x78
cmp r8, rbx
ja 0x14004363e
mov r9, r8
mov dword [rsi + 0x20], r8d
mov r10, r13
mov ecx, r13d
nop dword [rax]
cmp r9, rbx
jae 0x140043614
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140042fa0
mov qword [rsi + 0x70], r10
mov r10, r8
cmp r11d, 8
je 0x14004300a
mov r9, r13
mov ecx, r13d
nop dword [rax]
cmp r8, rbx
jae 0x140043644
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x140042fe0
mov qword [rsi + 0x78], r9
mov r9, r13
mov ecx, r13d
cmp r10, rbx
jae 0x140043608
nop dword [rax]
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
jns 0x140043045
cmp r8, rbx
jae 0x140043608
jmp 0x140043020
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x28], r14
mov qword [rsp + 0x20], r15
mov qword [rsi + 0x80], r9
cmp r9, 1
jne 0x1400430ec
cmp r8, rbx
jae 0x14004364a
movzx eax, byte [r8 + rdi]
inc r8
mov byte [rsi + 0x88], al
cmp al, 0xff
jne 0x1400430ec
mov r9, r13
mov ecx, r13d
cmp r8, rbx
jae 0x1400435fc
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x140043086
mov qword [rsi + 0x90], r9
mov ecx, r13d
mov r9, r13
cmp r8, rbx
jae 0x1400436f2
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x1400430b6
mov qword [rsi + 0x98], r9
cmp r11d, 7
jne 0x14004310f
cmp r9, 2
jae 0x140043115
xor al, al
mov r14, qword [rsp + 0x28]
mov r12, qword [rsp + 0x58]
mov r15, qword [rsp + 0x20]
mov rbp, qword [rsp + 0x50]
mov r13, qword [rsp + 0x60]
add rsp, 0x30
pop rdi
pop rsi
pop rbx
ret
cmp r9, 1
jne 0x1400430ec
mov r10, r13
mov ecx, r13d
mov r9, r8
nop
cmp r9, rbx
jae 0x1400436ec
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140043120
mov qword [rsi + 0xa0], r10
cmp r8, rbx
jae 0x140043650
movzx eax, byte [r8 + rdi]
inc r8
mov byte [rsi + 0xa8], al
sub al, 2
cmp al, 1
ja 0x1400430ec
lea rax, [r8 + 0x20]
mov dword [rsi + 0x28], r8d
cmp rax, rbx
ja 0x140043656
lea rax, [r8 + rdi]
mov r12d, 1
mov qword [rsi + 0xb0], rax
add r8, rbp
mov qword [rsi + 0xb8], rbp
movzx eax, byte [rsi + 0xa8]
cmp r11d, 7
jne 0x1400432ae
cmp al, 2
jne 0x1400430ec
mov r9, r13
mov ecx, r13d
cmp r8, rbx
jae 0x14004360e
nop
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
jns 0x1400431e5
cmp r8, rbx
jae 0x14004360e
jmp 0x1400431c0
add r8, r9
cmp r8, rbx
ja 0x14004365c
jae 0x140043662
movzx eax, byte [r8 + rdi]
mov r11, r12
mov rbp, qword [rsi + 0x98]
inc r8
mov byte [rsi + 0xc0], al
cmp rbp, r12
jbe 0x1400432c9
mov rcx, r8
nop dword [rax + rax]
cmp rcx, rbx
jae 0x140043686
lea rax, [r8 + rdi]
inc r8
mov rcx, r8
cmp byte [rax], r13b
jl 0x140043220
cmp rcx, rbx
jae 0x140043680
cmp byte [r8 + rdi], 2
jne 0x1400430ec
add r8, 0x21
cmp r8, rbx
ja 0x14004367a
mov r10, r13
mov ecx, r13d
mov r9, r8
cmp r9, rbx
jae 0x140043674
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
mov r9, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
js 0x140043262
add r8, r10
cmp r8, rbx
ja 0x14004366e
jae 0x140043668
inc r8
inc r11
mov rcx, r8
cmp r11, rbp
jb 0x140043220
jmp 0x1400432c9
cmp al, 3
jne 0x1400432c9
cmp r8, rbx
jae 0x14004368c
movzx eax, byte [r8 + rdi]
inc r8
mov byte [rsi + 0xc0], al
cmp dword [rsi + 0x18], 8
jne 0x1400432fc
mov r9, r13
mov ecx, r13d
cmp r8, rbx
jae 0x140043698
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r9, rax
test dl, dl
js 0x1400432d5
mov qword [rsi + 0x78], r9
mov r11, r13
mov ecx, r13d
cmp r8, rbx
jae 0x1400436e6
movzx edx, byte [r8 + rdi]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r11, rax
test dl, dl
js 0x140043302
mov ebp, r8d
lea r10, [r11 + r8]
add rbp, rdi
mov qword [rsi + 0xc8], r11
mov dword [rsi + 0x2c], r8d
mov r9, r13
cmp r10, rbx
ja 0x140043692
movzx r15d, r12b
test r11, r11
je 0x140043486
nop dword [rax]
nop word [rax + rax]
mov r8, r13
mov ecx, r13d
cmp r9, r11
jae 0x1400436c2
movzx edx, byte [r9 + rbp]
inc r9
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r8, rax
test dl, dl
js 0x140043366
sub r8, r12
je 0x14004345f
sub r8, r12
je 0x1400433ff
cmp r8, r12
jne 0x1400430ec
mov r14, r13
mov ecx, r13d
mov r8, r9
nop dword [rax]
cmp r8, r11
jae 0x1400436aa
movzx edx, byte [r9 + rbp]
inc r9
mov eax, edx
mov r8, r9
and eax, 0x7f
shl rax, cl
add ecx, 7
or r14, rax
test dl, dl
js 0x1400433b0
mov ecx, dword [rsi + 0x2c]
add r9, r14
add ecx, r8d
mov dword [rsi + 0x38], ecx
cmp r9, r11
ja 0x1400436a4
lea rax, [r8 + rbp]
mov qword [rsi + 0xe0], rax
mov qword [rsi + 0xe8], r14
jmp 0x14004347d
mov r14, r13
mov ecx, r13d
mov r8, r9
nop dword [rax + rax]
cmp r8, r11
jae 0x1400436b6
movzx edx, byte [r9 + rbp]
inc r9
mov eax, edx
mov r8, r9
and eax, 0x7f
shl rax, cl
add ecx, 7
or r14, rax
test dl, dl
js 0x140043410
mov ecx, dword [rsi + 0x2c]
add r9, r14
add ecx, r8d
mov dword [rsi + 0x34], ecx
cmp r9, r11
ja 0x1400436b0
lea rax, [r8 + rbp]
mov qword [rsi + 0xd0], rax
mov qword [rsi + 0xd8], r14
jmp 0x14004347d
test r15b, r15b
je 0x140043470
mov ecx, dword [rsi + 0x2c]
xor r15b, r15b
add ecx, r9d
mov dword [rsi + 0x30], ecx
add r9, 0x20
cmp r9, r11
ja 0x1400436bc
cmp r9, r11
jb 0x140043360
mov ecx, dword [rsi + 0x18]
cmp ecx, 7
jne 0x1400434d5
nop
cmp r10, rbx
jae 0x1400436d4
lea rax, [r10 + rdi]
inc r10
cmp byte [rax], r13b
jl 0x140043490
cmp r10, rbx
jae 0x1400436ce
lea rax, [r10 + rdi]
inc r10
cmp byte [rax], r13b
jl 0x1400434a5
nop word [rax + rax]
cmp r10, rbx
jae 0x1400436c8
lea rax, [r10 + rdi]
inc r10
cmp byte [rax], r13b
jl 0x1400434c0
mov dword [rsi + 0x24], r10d
cmp r10, rbx
jae 0x14004369e
lea r14, [r10 + 1]
cmp ecx, 8
jne 0x140043518
mov rcx, qword [rsi + 0x90]
movabs rax, 0x2d82d82d82d82d83
mul rcx
shr rdx, 7
imul rax, rdx, 0x2d0
cmp rcx, rax
jne 0x140043518
movzx eax, r12b
jmp 0x1400430ee
cmp byte [r10 + rdi], r13b
jne 0x1400430ec
mov ecx, dword [rsi + 0x24]
lea rax, [rcx + 1]
cmp r14, rax
jne 0x1400430ec
cmp byte [rcx + rdi], r13b
jne 0x1400430ec
mov ecx, r13d
nop
cmp r14, rbx
jae 0x1400436e0
movzx edx, byte [r14 + rdi]
inc r14
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r13, rax
test dl, dl
js 0x140043540
lea rdx, [r13 + 1]
mov qword [rsi + 0xf0], r13
shl rdx, 5
lea rcx, [rsi + 0xf8]
call fcn.140040c60
mov edx, dword [rsi + 0x24]
mov ecx, dword [rsi + 0x20]
add rdx, qword [rsi]
add rcx, qword [rsi]
mov r8, qword [rsi + 0xf8]
call fcn.140042a60
cmp r12, qword [rsi + 0xf0]
ja 0x1400435ed
mov r9d, 0x20
lea rdx, [r14 + rdi]
mov r8d, r9d
sub r8, rdi
nop
lea rax, [r8 + rdx]
cmp rax, rbx
ja 0x1400436da
mov rax, qword [rsi + 0xf8]
mov rcx, rdx
add rdx, 0x20
inc r12
movups xmm0, xmmword [rcx]
movups xmmword [r9 + rax], xmm0
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [r9 + rax + 0x10], xmm1
add r9, 0x20
cmp r12, qword [rsi + 0xf0]
jbe 0x1400435b0
mov rcx, rsi
call fcn.140042af0
mov al, 1
jmp 0x1400430ee
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3
call fcn.140043700
int3