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

Disassembly:
push rsi
sub rsp, 0x50
mov r11, qword [rcx]
mov rsi, rcx
mov r9, qword [rcx + 8]
sub r9, r11
je 0x1400470ca
movzx eax, byte [r11]
mov byte [rcx + 0x3c], al
cmp r9, 1
jbe 0x1400470d0
movzx eax, byte [r11 + 1]
mov r8d, 2
mov qword [rsp + 0x48], r14
xor r14d, r14d
mov byte [rcx + 0x3d], al
mov r10d, r14d
mov ecx, r14d
cmp r9, r8
jbe 0x140047088
nop
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140046955
cmp r8, r9
jae 0x140047088
jmp 0x140046930
lea rcx, [r8 + 0x20]
mov qword [rsi + 0x40], r10
cmp rcx, r9
ja 0x1400470d6
lea rax, [r8 + r11]
mov qword [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rax
lea r8, [rcx + 4]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi + 0x48], xmm0
mov dword [rsi + 0x1c], ecx
cmp r8, r9
ja 0x1400470dc
mov eax, dword [rsi + 0x18]
mov r10, r8
cmp eax, 7
jne 0x1400469e5
cmp byte [rsi + 0x3c], 0x12
jb 0x1400469fa
lea rcx, [r8 + 0x40]
cmp rcx, r9
ja 0x1400470e2
lea rax, [r8 + r11]
mov qword [rsp + 0x28], 0x40
lea r8, [rcx + 2]
mov qword [rsp + 0x20], rax
mov r10, r8
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi + 0x58], xmm0
cmp r8, r9
ja 0x1400470e8
movzx eax, word [rcx + r11]
mov word [rsi + 0x68], ax
jmp 0x1400469fa
cmp eax, 8
jne 0x1400469fa
add r8, 0x78
cmp r8, r9
ja 0x1400470ee
mov r10, r8
mov qword [rsp + 0x60], rbx
mov ecx, r14d
mov rbx, r14
mov dword [rsi + 0x20], r8d
nop dword [rax]
cmp r10, r9
jae 0x1400470c4
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x140046a10
mov qword [rsp + 0x70], rdi
mov edi, dword [rsi + 0x18]
mov qword [rsi + 0x70], rbx
cmp edi, 9
je 0x140046a8c
mov rbx, r14
mov ecx, r14d
cmp r8, r9
jae 0x14004708e
nop word [rax + rax]
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
jns 0x140046a88
cmp r8, r9
jae 0x14004708e
jmp 0x140046a60
mov qword [rsi + 0x78], rbx
mov rbx, r14
mov ecx, r14d
cmp r10, r9
jae 0x140047094
nop dword [rax + rax]
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
jns 0x140046ac5
cmp r8, r9
jae 0x140047094
jmp 0x140046aa0
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x40], r15
mov qword [rsi + 0x80], rbx
cmp rbx, 1
jne 0x140046b97
cmp r8, r9
jae 0x1400470f4
movzx eax, byte [r8 + r11]
inc r8
mov byte [rsi + 0x88], al
cmp al, 0xff
jne 0x140046b97
mov r10, r14
mov ecx, r14d
cmp r8, r9
jae 0x14004709a
nop dword [rax]
nop word [rax + rax]
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140046b45
cmp r8, r9
jae 0x14004709a
jmp 0x140046b20
mov qword [rsi + 0x90], r10
mov r10, r14
mov ecx, r14d
cmp r8, r9
jae 0x1400470a0
nop dword [rax + rax]
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140046b85
cmp r8, r9
jae 0x1400470a0
jmp 0x140046b60
mov qword [rsi + 0x98], r10
cmp edi, 8
jne 0x140046bbd
cmp r10, 2
jae 0x140046bc3
xor al, al
mov rbp, qword [rsp + 0x68]
mov r12, qword [rsp + 0x78]
mov r15, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x60]
mov r14, qword [rsp + 0x48]
add rsp, 0x50
pop rsi
ret
cmp r10, 1
jne 0x140046b97
mov rbx, r14
mov ecx, r14d
mov r10, r8
nop dword [rax]
cmp r10, r9
jae 0x140047082
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x140046bd0
mov qword [rsi + 0xa0], rbx
cmp r8, r9
jae 0x1400470fa
movzx eax, byte [r8 + r11]
inc r10
mov byte [rsi + 0xa8], al
mov r8, r10
cmp al, 2
je 0x140046c23
cmp al, 3
jne 0x140046b97
lea rax, [r10 + 0x20]
mov dword [rsi + 0x28], r10d
cmp rax, r9
ja 0x140047100
lea rax, [r11 + r10]
mov qword [rsp + 0x28], 0x20
mov qword [rsp + 0x20], rax
add r8, 0x20
movzx eax, byte [rsi + 0xa8]
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi + 0xb0], xmm0
cmp edi, 8
jne 0x140046db5
cmp al, 2
jne 0x140046b97
mov r10, r14
mov ecx, r14d
cmp r8, r9
jae 0x1400470a6
nop dword [rax]
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r10, rax
test dl, dl
jns 0x140046ca5
cmp r8, r9
jae 0x1400470a6
jmp 0x140046c80
lea rax, [r10 + r8]
cmp rax, r9
ja 0x140047106
add r8, r10
cmp r8, r9
jae 0x14004710c
movzx eax, byte [r8 + r11]
mov edi, 1
mov rbp, qword [rsi + 0x98]
inc r8
mov byte [rsi + 0xc0], al
mov r10, r8
cmp rbp, rdi
jbe 0x140046d7d
mov rcx, r8
cmp rcx, r9
jae 0x140047130
lea rax, [r8 + r11]
inc r8
mov rcx, r8
cmp byte [rax], r14b
jl 0x140046ce7
cmp rcx, r9
jae 0x14004712a
cmp byte [r8 + r11], 2
jne 0x140046b97
add r8, 0x21
cmp r8, r9
ja 0x140047124
mov rbx, r14
mov ecx, r14d
mov r10, r8
nop dword [rax]
cmp r10, r9
jae 0x14004711e
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
js 0x140046d30
add r8, rbx
cmp r8, r9
ja 0x140047118
jae 0x140047112
inc r8
inc rdi
mov rcx, r8
cmp rdi, rbp
jb 0x140046ce7
mov r10, r8
mov rbx, r14
mov ecx, r14d
cmp r10, r9
jae 0x1400470ac
nop dword [rax]
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
jns 0x140046e21
cmp r8, r9
jae 0x1400470ac
jmp 0x140046d90
mov r10, r8
cmp al, 3
jne 0x140046dd7
cmp r8, r9
jae 0x140047136
movzx eax, byte [r8 + r11]
lea r10, [r8 + 1]
mov byte [rsi + 0xc0], al
mov r8, r10
cmp edi, 9
jne 0x140046d7d
mov rbx, r14
mov ecx, r14d
cmp r10, r9
jae 0x1400470b2
nop dword [rax + rax]
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
mov r10, r8
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbx, rax
test dl, dl
jns 0x140046e18
cmp r8, r9
jae 0x1400470b2
jmp 0x140046df0
mov qword [rsi + 0x78], rbx
jmp 0x140046d7d
mov qword [rsi + 0xc8], rbx
mov r10, r14
mov dword [rsi + 0x2c], r8d
mov rbx, qword [rsi + 0xc8]
mov r15d, r8d
add r8, rbx
add r15, r11
cmp r8, r9
ja 0x14004713c
mov r12b, 1
test rbx, rbx
je 0x140046f8e
nop dword [rax]
nop dword [rax + rax]
mov rdi, r14
mov ecx, r14d
cmp r10, rbx
jae 0x140047160
movzx edx, byte [r10 + r15]
inc r10
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or rdi, rax
test dl, dl
js 0x140046e66
sub rdi, 1
je 0x140046f66
sub rdi, 1
je 0x140046f06
cmp rdi, 1
jne 0x140046b97
mov rbp, r14
mov ecx, r14d
mov rdi, r10
nop dword [rax]
cmp rdi, rbx
jae 0x140047148
movzx edx, byte [r10 + r15]
inc r10
mov eax, edx
mov rdi, r10
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbp, rax
test dl, dl
js 0x140046eb0
mov ecx, dword [rsi + 0x2c]
add r10, rbp
add ecx, edi
mov dword [rsi + 0x38], ecx
cmp r10, rbx
ja 0x140047142
lea rax, [rdi + r15]
mov qword [rsp + 0x28], rbp
mov qword [rsp + 0x20], rax
movups xmm0, xmmword [rsp + 0x20]
movups xmmword [rsi + 0xe0], xmm0
jmp 0x140046f85
mov rbp, r14
mov ecx, r14d
mov rdi, r10
nop
cmp rdi, rbx
jae 0x140047154
movzx edx, byte [r10 + r15]
inc r10
mov eax, edx
mov rdi, r10
and eax, 0x7f
shl rax, cl
add ecx, 7
or rbp, rax
test dl, dl
js 0x140046f10
mov ecx, dword [rsi + 0x2c]
add r10, rbp
add ecx, edi
mov dword [rsi + 0x34], ecx
cmp r10, rbx
ja 0x14004714e
lea rax, [rdi + r15]
mov qword [rsp + 0x38], rbp
mov qword [rsp + 0x30], rax
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rsi + 0xd0], xmm0
jmp 0x140046f85
test r12b, r12b
je 0x140046f78
mov eax, dword [rsi + 0x2c]
xor r12b, r12b
lea ecx, [r10 + rax]
mov dword [rsi + 0x30], ecx
add r10, 0x20
cmp r10, rbx
ja 0x14004715a
cmp r10, rbx
jb 0x140046e60
cmp dword [rsi + 0x18], 8
jne 0x140046fe9
cmp r8, r9
jae 0x140047166
lea rax, [r8 + r11]
inc r8
cmp byte [rax], r14b
jl 0x140046f94
cmp r8, r9
jae 0x1400470b8
lea rax, [r8 + r11]
inc r8
cmp byte [rax], r14b
jge 0x140046fc9
cmp r8, r9
jae 0x1400470b8
jmp 0x140046fb2
cmp r8, r9
jae 0x1400470be
lea rax, [r8 + r11]
inc r8
cmp byte [rax], r14b
jge 0x140046fe9
cmp r8, r9
jae 0x1400470be
jmp 0x140046fd2
mov dword [rsi + 0x24], r8d
cmp r8, r9
jae 0x14004716c
movzx r10d, byte [r8 + r11]
inc r8
cmp dword [rsi + 0x18], 9
jne 0x140047028
mov rcx, qword [rsi + 0x90]
movabs rax, 0x2d82d82d82d82d83
mul rcx
shr rdx, 7
imul rax, rdx, 0x2d0
cmp rcx, rax
je 0x14004707b
test r10b, r10b
jne 0x140046b97
mov ecx, dword [rsi + 0x24]
lea rax, [rcx + 1]
cmp r8, rax
jne 0x140046b97
mov rax, r11
cmp byte [rcx + r11], r14b
jne 0x140046b97
mov ecx, r14d
cmp r8, r9
jae 0x140047172
movzx edx, byte [r8 + r11]
inc r8
mov eax, edx
and eax, 0x7f
shl rax, cl
add ecx, 7
or r14, rax
test dl, dl
js 0x140047051
mov qword [rsi + 0xf0], r14
mov al, 1
jmp 0x140046b99
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3
call fcn.140047180
int3