Function at 0x140061ab0
Capabilities:
Encrypt data using rc4 prga

Disassembly:
mov r11, rsp
push rbx
push rbp
push rsi
push r14
sub rsp, 0x1a8
mov rax, qword [0x140119010]
xor rax, rsp
mov qword [rsp + 0xe0], rax
movsx eax, byte [r8]
xor ebx, ebx
mov qword [rsp + 0x40], r9
mov rbp, r8
mov dword [rsp + 0x68], edx
mov rsi, rcx
mov qword [rsp + 0x58], rcx
mov r14d, ebx
test eax, eax
je 0x140062ab2
mov qword [r11 + 0x10], rdi
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r15
vmovaps xmmword [r11 - 0x48], xmm6
vmovaps xmmword [r11 - 0x58], xmm7
vmovsd xmm7, qword [0x140102bd8]
vmovaps xmmword [r11 - 0x68], xmm8
vmovsd xmm8, qword [0x140102cc0]
vmovaps xmmword [r11 - 0x78], xmm9
vmovsd xmm9, qword [0x140102a40]
vmovaps xmmword [r11 - 0x88], xmm10
vmovsd xmm10, qword [0x140102b50]
vmovaps xmmword [r11 - 0x98], xmm11
vmovsd xmm11, qword [0x140102b90]
vmovaps xmmword [r11 - 0xa8], xmm12
vmovsd xmm12, qword [0x140102d68]
vmovaps xmmword [r11 - 0xb8], xmm13
vmovsd xmm13, qword [0x1401029e8]
vmovaps xmmword [r11 - 0xc8], xmm14
vmovsd xmm14, qword [0x140102a48]
vmovaps xmmword [r11 - 0xd8], xmm15
vxorpd xmm15, xmm15, xmm15
mov qword [r11 - 0x28], r12
lea rdx, [0x140000000]
mov r15d, 1
mov rdi, r9
cmp eax, 0x25
je 0x140061bf4
movsx ebx, byte [rbp + 1]
mov r14, rbp
inc rbp
mov r8d, r15d
cmp ebx, 0x25
je 0x140061bd3
test ebx, ebx
je 0x140061bd3
movsx ebx, byte [rbp + 1]
inc rbp
inc r8d
cmp ebx, 0x25
jne 0x140061bc0
mov rdx, r14
mov rcx, rsi
call fcn.140062b60
test ebx, ebx
je case.default.0x140061e2f
mov r9, qword [rsp + 0x40]
lea rdx, [0x140000000]
xor ebx, ebx
movsx r8d, byte [rbp + 1]
inc rbp
test r8d, r8d
je 0x140062a26
xor r13b, r13b
mov byte [rsp + 0x29], 0
xor r11b, r11b
mov byte [rsp + 0x28], 0
xor sil, sil
xor r10b, r10b
mov dword [rsp + 0x48], r10d
lea eax, [r8 - 0x20]
cmp eax, 0x10
ja case.0x140061c35.34
cdqe
mov ecx, dword [rdx + rax*4 + 0x62ad0]
add rcx, rdx
jmp rcx
mov r10b, 1
jmp 0x140061c57
mov sil, 1
jmp 0x140061c57
mov r11b, 1
jmp 0x140061c57
mov r13b, 1
jmp 0x140061c57
mov byte [rsp + 0x28], 1
jmp 0x140061c57
mov byte [rsp + 0x29], 1
movsx r8d, byte [rbp + 1]
inc rbp
test r8d, r8d
jne 0x140061c20
mov dword [rsp + 0x48], r10d
mov edx, ebx
mov byte [rsp + 0x38], r13b
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x24], ebx
cmp r8d, 0x2a
jne 0x140061cae
mov edx, dword [rdi]
add r9, 8
movsx r8d, byte [rbp + 1]
test edx, edx
mov eax, edx
movzx r10d, r10b
cmovs r10d, r15d
mov qword [rsp + 0x40], r9
mov ecx, edx
mov dword [rsp + 0x48], r10d
inc rbp
neg edx
test eax, eax
cmovns edx, eax
jmp 0x140061cd2
cmp r8d, 0x30
jl 0x140061cdb
cmp r8d, 0x39
ja 0x140061cd2
lea edx, [rdx + rdx*4]
inc rbp
lea edx, [rdx - 0x18]
lea edx, [r8 + rdx*2]
movsx r8d, byte [rbp]
cmp r8d, 0x30
jge 0x140061cb4
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x24], edx
mov rax, r9
cmp r8d, 0x2e
jne 0x140061d93
movsx r8d, byte [rbp + 1]
inc rbp
mov qword [rsp + 0x50], rbp
mov r15d, ebx
cmp r8d, 0x2a
jne 0x140061d25
mov eax, dword [rax]
inc rbp
cdq
mov qword [rsp + 0x50], rbp
add r9, 8
mov r15d, eax
xor r15d, edx
mov qword [rsp + 0x40], r9
movsx r8d, byte [rbp]
sub r15d, edx
jmp 0x140061d99
cmp r8d, 0x30
jl 0x140061d99
nop dword [rax + rax]
cmp r8d, 0x39
ja 0x140061d99
inc rbp
lea r15d, [r15 + r15*4]
lea r15d, [r15 - 0x18]
mov qword [rsp + 0x50], rbp
lea r15d, [r8 + r15*2]
movsx r8d, byte [rbp]
cmp r8d, 0x30
jge 0x140061d30
xor r10b, r10b
lea rdi, [0x1400fa480]
xor r12b, r12b
mov rbx, rdi
mov byte [rsp + 0x20], r12b
xor ebp, ebp
mov qword [rsp + 0x70], rbx
mov edx, ebp
mov rcx, rdi
movsx eax, byte [rcx]
cmp r8d, eax
je 0x140061ddd
inc rdx
lea rax, [0x1400fa50a]
add rcx, 6
cmp rcx, rax
jl 0x140061d76
jmp 0x140061e04
mov r15d, 0xffffffff
mov rcx, rbp
cmp r8d, 0x6c
jne 0x140061d55
movzx eax, byte [rbp + 1]
inc rbp
mov qword [rsp + 0x50], rbp
cmp al, r8b
jne 0x140061dcb
add rcx, 2
mov qword [rsp + 0x50], rcx
cmp al, 0x6c
sete r10b
movzx ecx, byte [rcx]
movsx r8d, cl
jmp 0x140061d58
cmp al, 0x6c
movsx r8d, al
movzx ecx, al
sete r10b
jmp 0x140061d58
lea rax, [rdx + rdx*2]
lea rbx, [rdi + rax*2]
mov qword [rsp + 0x70], rbx
cmp dword [rsp + 0x68], ebp
jne 0x140061dfa
test byte [rbx + 2], 2
jne case.default.0x140061e2f
movzx r12d, byte [rbx + 3]
mov byte [rsp + 0x20], r12b
movzx eax, r12b
mov rdx, rbp
dec eax
mov qword [rsp + 0x30], rdx
cmp eax, 0xf
ja case.default.0x140061e2f
lea r8, [0x140000000]
cdqe
mov ecx, dword [r8 + rax*4 + 0x62b14]
add rcx, r8
jmp rcx
mov r10b, 1
add qword [rsp + 0x40], 8
test byte [rbx + 2], 1
je 0x140061e87
test r10b, r10b
je 0x140061e4a
mov rbx, qword [r9]
jmp 0x140061e4d
movsxd rbx, dword [r9]
test rbx, rbx
jns 0x140061e71
movabs rax, 0x8000000000000000
cmp rbx, rax
jne 0x140061e69
mov rbx, rax
mov dil, 0x2d
jmp 0x140061e97
neg rbx
mov dil, 0x2d
jmp 0x140061e97
test sil, sil
je 0x140061e7b
mov dil, 0x2b
jmp 0x140061e97
neg r11b
sbb dil, dil
and dil, 0x20
jmp 0x140061e97
test r10b, r10b
je 0x140061e91
mov rbx, qword [r9]
jmp 0x140061e94
mov ebx, dword [r9]
xor dil, dil
test rbx, rbx
movzx eax, r13b
mov esi, ebp
cmovne esi, eax
cmp byte [rsp + 0x29], dl
je 0x140061ebe
mov ecx, dword [rsp + 0x24]
test dil, dil
mov eax, ebp
setne al
sub ecx, eax
cmp r15d, ecx
cmovl r15d, ecx
cmp r15d, 0x3c
jge 0x140061ed6
mov ebp, 0x46
lea r9, [rsp + 0x90]
mov r13, rdx
jmp 0x140061ef0
lea ebp, [r15 + 0xa]
mov ecx, ebp
call fcn.140060ca0
mov r13, rax
mov r9, rax
test rax, rax
je 0x1400627cb
lea ecx, [rbp - 1]
movsxd r14, ecx
add r14, r9
cmp r12b, 0x10
jne 0x140061f6f
movabs r10, 0xcccccccccccccccd
mov r8d, ebx
mov rax, r10
mul rbx
mov rcx, rdx
shr rcx, 3
lea eax, [rcx + rcx*4]
add eax, eax
sub r8d, eax
cmp r8d, 4
jge 0x140061f41
mov rax, r10
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
cmp rcx, 1
jne 0x140061f46
xor eax, eax
mov r8d, eax
lea eax, [r8 + r8]
movsxd rcx, eax
lea rdx, [0x140000000]
movzx eax, byte [rcx + rdx + 0xfa461]
movzx ecx, byte [rcx + rdx + 0xfa460]
mov byte [r14 - 1], al
sub r14, 2
mov byte [r14], cl
mov r11, qword [rsp + 0x70]
lea rax, str.0123456789ABCDEF0123456789abcdef
movzx ecx, byte [r11 + 4]
movzx r8d, byte [r11 + 1]
add rcx, rax
nop dword [rax + rax]
xor edx, edx
mov rax, rbx
div r8
dec r14
mov rbx, rax
movzx eax, byte [rdx + rcx]
mov byte [r14], al
test rbx, rbx
jne 0x140061f90
mov ecx, r14d
sub ecx, r9d
sub ecx, ebp
inc ecx
add ecx, r15d
test ecx, ecx
jle 0x140061fcd
nop dword [rax + rax]
dec r14
dec ecx
mov byte [r14], 0x30
test ecx, ecx
jg 0x140061fc0
test dil, dil
je 0x140061fd8
dec r14
mov byte [r14], dil
test sil, sil
je 0x140062011
movzx eax, byte [r11 + 5]
test al, al
je 0x140062011
lea rcx, [0x1400f77e4]
add rax, rcx
movzx ecx, byte [rax]
test cl, cl
je 0x140062011
nop word [rax + rax]
dec r14
lea rax, [rax + 1]
mov byte [r14], cl
movzx ecx, byte [rax]
test cl, cl
jne 0x140062000
sub r9d, r14d
lea ebx, [r9 - 1]
add ebx, ebp
jmp 0x14006265c
add qword [rsp + 0x40], 8
mov eax, 6
vmovsd xmm4, qword [r9]
test r15d, r15d
cmovs r15d, eax
vcomisd xmm4, xmm15
jae 0x14006204a
vxorpd xmm4, xmm4, xmmword [0x1401030f0]
mov r8b, 0x2d
jmp 0x14006205e
test sil, sil
je 0x140062054
mov r8b, 0x2b
jmp 0x14006205e
neg r11b
sbb r8b, r8b
and r8b, 0x20
mov byte [rsp + 0x21], r8b
cmp r12b, 4
jne 0x140062071
test r15d, r15d
je 0x140062071
dec r15d
mov ecx, r15d
vmovsd xmm5, qword [0x140102b78]
cmp r15d, 8
jl 0x1400620ab
lea eax, [r15 - 8]
shr eax, 3
inc eax
mov edx, eax
lea eax, [rax*8]
sub ecx, eax
nop word [rax + rax]
vmulsd xmm5, xmm5, xmm14
sub rdx, 1
jne 0x1400620a0
test ecx, ecx
jle 0x1400620ba
dec ecx
vmulsd xmm5, xmm5, xmm10
test ecx, ecx
jg 0x1400620af
movzx eax, r12b
mov ecx, 2
vmovq xmm1, rcx
vmovq xmm0, rax
vpcmpeqq xmm2, xmm0, xmm1
vaddsd xmm3, xmm4, xmm5
vblendvpd xmm4, xmm4, xmm3, xmm2
vmovsd qword [rsp + 0x80], xmm4
vmovsd xmm0, qword [rsp + 0x80]
vmovsd qword [rsp + 0x78], xmm4
vmovsd qword [rsp + 0x78], xmm0
vmovsd xmm2, qword [rsp + 0x80]
vmovsd xmm1, qword [rsp + 0x78]
vucomisd xmm2, xmm1
mov edi, ebp
je 0x140062123
lea r14, [0x1400fd318]
mov r13, rbp
lea ebx, [rcx + 1]
jmp 0x14006265c
vcomisd xmm4, xmm15
vmovaps xmm6, xmm4
jbe 0x140062220
vcomisd xmm4, xmm12
jb 0x14006215b
nop dword [rax]
cmp edi, 0x15e
jg 0x1400621d5
vmulsd xmm6, xmm6, xmm13
add edi, 0x20
vcomisd xmm6, xmm12
jae 0x140062140
vcomisd xmm6, xmm8
jb 0x140062179
cmp edi, 0x15e
jg 0x1400621d5
vmulsd xmm6, xmm6, xmm9
add edi, 8
vcomisd xmm6, xmm8
jae 0x140062162
vcomisd xmm6, xmm7
jb 0x140062195
nop
cmp edi, 0x15e
jg 0x1400621d5
vmulsd xmm6, xmm6, xmm10
inc edi
vcomisd xmm6, xmm7
jae 0x140062180
vcomisd xmm6, xmm9
jae 0x1400621af
nop dword [rax]
vmulsd xmm6, xmm6, xmm8
sub edi, 8
vcomisd xmm6, xmm9
jb 0x1400621a0
vcomisd xmm6, xmm11
jae 0x1400621cd
nop word [rax + rax]
vmulsd xmm6, xmm6, xmm7
dec edi
vcomisd xmm6, xmm11
jb 0x1400621c0
cmp edi, 0x15e
jle 0x140062220
cmp r8b, 0x2d
jne 0x1400621e7
lea r14, str._Inf
mov rbx, r14
jmp 0x140062207
cmp r8b, 0x2b
jne 0x1400621f9
lea r14, str.Inf
mov rbx, r14
jmp 0x140062207
lea r14, [0x1400fd32c]
lea rbx, [0x1400fd32c]
inc rbx
cmp byte [rbx], bpl
jne 0x140062207
sub ebx, r14d
mov r13, rbp
and ebx, 0x3fffffff
jmp 0x14006265c
lea rsi, [rsp + 0x90]
mov eax, edi
cmp r12b, cl
je 0x140062279
vaddsd xmm6, xmm6, xmm5
vcomisd xmm6, xmm7
vmovaps xmm0, xmm6
jb 0x140062242
vmulsd xmm6, xmm6, xmm10
inc edi
vcomisd xmm0, xmm7
cmovb edi, eax
cmp r12b, 4
jne 0x140062279
test r13b, r13b
sete r13b
cmp edi, 0xfffffffc
jl 0x14006226f
cmp edi, r15d
jg 0x14006226f
sub r15d, edi
mov byte [rsp + 0x20], cl
movzx r12d, cl
jmp 0x14006227c
mov r12b, 3
mov byte [rsp + 0x20], r12b
jmp 0x14006227c
xor r13b, r13b
mov ecx, dword [rsp + 0x24]
cmp r12b, 3
mov ebx, ebp
cmovne ebx, edi
lea eax, [rbx + r15]
add ecx, eax
cmp ecx, 0x37
jle 0x1400622ad
add ecx, 0xf
call fcn.140060ca0
mov qword [rsp + 0x30], rax
mov rsi, rax
test rax, rax
je 0x1400627cb
movzx ecx, byte [rsp + 0x28]
test r15d, r15d
movzx r10d, byte [rsp + 0x21]
mov r14, rsi
setg r12b
or r12b, cl
or r12b, byte [rsp + 0x38]
test r10b, r10b
je 0x1400622d5
mov byte [rsi], r10b
inc rsi
test ebx, ebx
jns 0x1400622e1
mov byte [rsi], 0x30
inc rsi
jmp 0x14006230e
mov eax, ebp
inc ebp
cmp eax, 0x10
jl 0x1400622ee
mov al, 0x30
jmp 0x140062304
vcvttsd2si eax, xmm6
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
vsubsd xmm1, xmm6, xmm0
vmulsd xmm6, xmm1, xmm7
add al, 0x30
mov byte [rsi], al
inc rsi
sub ebx, 1
jns 0x1400622e1
test r12b, r12b
je 0x140062319
mov byte [rsi], 0x2e
inc rsi
add ebx, 1
jns 0x14006233e
neg ebx
mov dl, 0x30
mov r8d, ebx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memset
movzx r10d, byte [rsp + 0x21]
add rsi, rbx
movzx ecx, byte [rsp + 0x28]
sub r15d, ebx
test r15d, r15d
jle 0x140062373
mov eax, ebp
dec r15d
inc ebp
cmp eax, 0x10
jl 0x140062353
mov al, 0x30
jmp 0x140062369
vcvttsd2si eax, xmm6
vxorps xmm0, xmm0, xmm0
vcvtsi2sd xmm0, xmm0, eax
vsubsd xmm1, xmm6, xmm0
vmulsd xmm6, xmm1, xmm7
add al, 0x30
mov byte [rsi], al
inc rsi
test r15d, r15d
jg 0x140062343
test r13b, r13b
je 0x1400623ab
test r12b, r12b
je 0x1400623ab
cmp byte [rsi - 1], 0x30
jne 0x14006238f
dec rsi
mov byte [rsi], 0
cmp byte [rsi - 1], 0x30
je 0x140062383
cmp byte [rsi - 1], 0x2e
lea rax, [rsi - 1]
jne 0x1400623ab
test cl, cl
je 0x1400623a5
mov byte [rsi], 0x30
inc rsi
jmp 0x1400623ab
mov rsi, rax
mov byte [rax], 0
cmp byte [rsp + 0x20], 3
jne 0x140062437
mov r11, qword [rsp + 0x70]
lea rcx, str.0123456789ABCDEF0123456789abcdef
movzx eax, byte [r11 + 4]
movzx eax, byte [rax + rcx]
mov byte [rsi], al
test edi, edi
jns 0x1400623dd
mov byte [rsi + 1], 0x2d
add rsi, 2
neg edi
jmp 0x1400623e5
mov byte [rsi + 1], 0x2b
add rsi, 2
cmp edi, 0x64
jl 0x140062408
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + 0x30]
mov byte [rsi], al
inc rsi
imul eax, edx, 0xffffff9c
add edi, eax
mov eax, 0x66666667
imul edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [rdx + 0x30]
mov byte [rsi], al
movzx eax, dl
shl dl, 2
add al, dl
add al, al
sub dil, al
add dil, 0x30
mov byte [rsi + 1], dil
add rsi, 2
mov byte [rsi], 0
sub esi, r14d
cmp byte [rsp + 0x29], 0
mov ebx, esi
je 0x140062657
mov ebp, dword [rsp + 0x48]
test bpl, bpl
jne 0x1400624bc
movsxd rdi, dword [rsp + 0x24]
cmp ebx, edi
jge 0x1400624b2
mov r9d, edi
mov rdx, rdi
sub r9d, ebx
movsxd r8, r9d
cmp rdi, r8
jl 0x140062494
sub rdx, r8
lea rcx, [rdi + r14]
inc rdx
nop word [rax + rax]
mov rax, rcx
sub rax, r8
movzx eax, byte [rax]
mov byte [rcx], al
dec rcx
sub rdx, 1
jne 0x140062480
test r9d, r9d
je 0x1400624b0
xor eax, eax
mov r8d, r9d
mov ecx, eax
test r10b, r10b
mov dl, 0x30
setne cl
add rcx, r14
call sub.VCRUNTIME140.dll_memset
mov ebx, edi
mov r13, qword [rsp + 0x30]
jmp 0x14006266d
mov edi, dword [rsp + 0x24]
mov r13, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x58]
test ebx, ebx
jle 0x1400624dc
mov r8d, ebx
mov rdx, r14
mov rcx, rsi
call fcn.140062b60
test bpl, bpl
je 0x1400624f1
sub edi, ebx
test edi, edi
jle 0x1400624f1
mov edx, edi
mov rcx, rsi
call fcn.140061860
test r13, r13
je 0x140062a0a
cmp dword [0x140119430], 0
je 0x140062a01
mov rcx, qword [0x14011cde8]
test rcx, rcx
je 0x140062519
call qword [0x1401194b0]
mov rcx, r13
call qword [0x140119468]
mov ecx, dword [0x14011cc60]
neg eax
add ecx, eax
mov eax, dword [0x14011cc88]
cmp ecx, eax
mov dword [0x14011cc60], ecx
cmovg eax, ecx
mov ecx, dword [0x14011cc84]
dec ecx
mov dword [0x14011cc88], eax
mov eax, dword [0x14011ccac]
cmp ecx, eax
mov dword [0x14011cc84], ecx
cmovg eax, ecx
mov rcx, r13
mov dword [0x14011ccac], eax
call qword [0x140119458]
mov rcx, qword [0x14011cde8]
test rcx, rcx
je 0x140062a0a
call qword [0x1401194c0]
jmp 0x140062a0a
mov rax, qword [rsp + 0x58]
mov edi, ebp
mov rcx, qword [r9]
mov ebx, ebp
add qword [rsp + 0x40], 8
mov r13, rdx
mov eax, dword [rax + 0x18]
mov dword [rcx], eax
jmp 0x140062660
mov byte [rsp + 0x90], 0x25
lea r14, [rsp + 0x90]
mov ebx, 1
mov r13, rdx
jmp 0x14006265c
add qword [rsp + 0x40], 8
movzx edx, byte [r9]
mov byte [rsp + 0x90], dl
test r15d, r15d
js 0x140062602
cmp r15d, 1
jle 0x1400625f2
lea eax, [r15 - 1]
movsxd r8, eax
lea rcx, [rsp + 0x91]
call sub.VCRUNTIME140.dll_memset
mov ebx, r15d
lea r14, [rsp + 0x90]
mov r13, rbp
jmp 0x14006265c
mov ebx, 1
lea r14, [rsp + 0x90]
mov r13, rbp
jmp 0x14006265c
add qword [rsp + 0x40], 8
mov r14, qword [r9]
test r14, r14
jne 0x14006262b
lea r14, [0x1400f22b8]
jmp 0x140062638
cmp r12b, 7
cmove rdx, r14
mov qword [rsp + 0x30], rdx
test r15d, r15d
js 0x14006268b
mov ebx, ebp
movsxd rcx, r15d
mov rax, rbp
jle 0x140062657
cmp byte [rax + r14], bpl
je 0x140062657
inc ebx
inc rax
cmp rax, rcx
jl 0x140062647
mov r13, qword [rsp + 0x30]
mov edi, dword [rsp + 0x24]
mov ebp, dword [rsp + 0x48]
test bpl, bpl
jne 0x1400624c5
mov edx, edi
sub edx, ebx
test edx, edx
jle 0x1400624c5
mov rsi, qword [rsp + 0x58]
mov rcx, rsi
call fcn.140061860
jmp 0x1400624ca
mov rbx, r14
test r14, r14
jne 0x140062697
mov ebx, ebp
jmp 0x140062657
cmp byte [r14], bpl
je 0x1400626a8
nop dword [rax]
inc rbx
cmp byte [rbx], bpl
jne 0x1400626a0
sub ebx, r14d
and ebx, 0x3fffffff
jmp 0x140062657
mov r9, qword [r9]
cmp r12b, 0xf
mov edi, 0x27
mov eax, 0x22
cmove edi, eax
mov rbp, r9
add qword [rsp + 0x40], 8
test r9, r9
jne 0x1400626eb
cmp r12b, 0xb
lea rbp, str._NULL_
lea rax, str.NULL
cmove rbp, rax
xor ecx, ecx
mov r8d, ecx
mov ebx, ecx
test r15d, r15d
je 0x140062722
mov rdx, rbp
nop word [rax + rax]
movzx ecx, byte [rdx]
test cl, cl
je 0x140062720
inc ebx
lea eax, [r8 + 1]
inc rdx
cmp cl, dil
cmovne eax, r8d
mov r8d, eax
sub r15d, 1
jne 0x140062700
xor ecx, ecx
test r9, r9
je 0x140062733
mov r15d, 1
cmp r12b, 0xb
je 0x140062736
mov r15d, ecx
lea esi, [r15*2 + 1]
add esi, ebx
add esi, r8d
cmp esi, 0x46
jle 0x1400627d9
cmp esi, 0x7fffff00
jge 0x1400627b1
cmp dword [0x140119430], 0
je 0x14006279b
mov rcx, qword [0x14011cde8]
test rcx, rcx
je 0x14006276f
call qword [0x1401194b0]
lea rdx, [rsp + 0x60]
mov ecx, esi
call fcn.140060ba0
mov rcx, qword [0x14011cde8]
test rcx, rcx
je 0x14006278d
call qword [0x1401194c0]
mov rax, qword [rsp + 0x60]
xor ecx, ecx
mov qword [rsp + 0x30], rax
jmp 0x1400627be
mov ecx, esi
call qword [0x140119450]
mov qword [rsp + 0x30], rax
xor ecx, ecx
mov qword [rsp + 0x60], rax
jmp 0x1400627be
mov rax, rcx
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x78], rax
mov r14, rax
test rax, rax
jne 0x1400627e1
mov rax, qword [rsp + 0x58]
mov byte [rax + 0x24], 1
jmp case.default.0x140061e2f
lea r14, [rsp + 0x90]
mov edx, ecx
mov rax, rcx
test r15d, r15d
je 0x1400627f5
mov edx, 1
mov byte [r14], dil
mov eax, edx
movsxd r9, ebx
mov r8, rcx
test ebx, ebx
jle 0x140062824
nop
movzx ecx, byte [r8 + rbp]
inc edx
mov byte [rax + r14], cl
inc rax
cmp cl, dil
jne 0x14006281c
inc edx
mov byte [rax + r14], cl
inc rax
inc r8
cmp r8, r9
jl 0x140062800
test r15d, r15d
je 0x140062832
inc edx
mov byte [rax + r14], dil
inc rax
mov byte [rax + r14], 0
mov ebx, edx
jmp 0x140062657
add qword [rsp + 0x40], 8
mov rdx, qword [r9]
test rdx, rdx
je 0x14006285d
mov r8d, dword [rdx + 8]
mov rdx, qword [rdx]
mov rcx, qword [rsp + 0x58]
call fcn.140062b60
mov ebx, ebp
mov edi, ebp
mov r13d, ebx
jmp 0x140062660
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rcx + 8]
lea r15, [rcx + 0x10]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rcx]
lea rbx, [rax + rax*2]
shl rbx, 5
mov rdx, qword [rbx + rdi + 8]
test rdx, rdx
je 0x1400628b3
mov r8d, 0xffffffff
mov rcx, r12
call fcn.140062b60
mov r8d, 1
lea rdx, [0x1400fd338]
mov rcx, r12
call fcn.140062b60
movzx eax, byte [r12 + 0x26]
or al, byte [r12 + 0x24]
mov rbp, qword [rbx + rdi + 0x10]
jne 0x14006292a
mov rbx, rbp
test rbp, rbp
je 0x14006292a
cmp byte [rbp], al
je 0x1400628da
inc rbx
cmp byte [rbx], 0
jne 0x1400628d2
sub ebx, ebp
and ebx, 0x3fffffff
je 0x14006292a
movsxd rdx, dword [r12 + 0x18]
mov ecx, dword [r12 + 0x1c]
lea eax, [rbx + rdx]
cmp eax, ecx
jl 0x140062910
movzx r8d, byte [r12 + 0x25]
test r8b, r8b
jne 0x14006293d
sub ecx, edx
mov byte [r12 + 0x26], 1
dec ecx
mov ebx, ecx
test ecx, ecx
jle 0x14006292a
movsxd rcx, dword [r12 + 0x18]
mov rdx, rbp
add rcx, qword [r12 + 0x10]
movsxd r8, ebx
call sub.VCRUNTIME140.dll_memcpy
add dword [r12 + 0x18], ebx
xor eax, eax
mov qword [rsp + 0x40], r15
mov edi, eax
mov ebx, eax
mov r13d, eax
jmp 0x140062660
mov rsi, qword [r12 + 0x10]
lea edi, [rbx + 1]
cmp rsi, qword [r12 + 8]
mov eax, 0
cmove rsi, rax
movsxd rax, dword [r12 + 0x20]
add rdi, rdx
cmp rdi, rax
jle 0x140062981
mov rcx, r12
call fcn.140062de0
xor eax, eax
mov byte [r12 + 0x26], 1
mov edi, eax
mov qword [rsp + 0x40], r15
mov ebx, eax
mov r13d, eax
jmp 0x140062660
mov dword [r12 + 0x1c], edi
cmp r8b, 1
jne 0x14006299d
mov rcx, qword [r12]
mov r8d, edi
mov rdx, rsi
call fcn.140061460
jmp 0x1400629b0
call fcn.1400dd520
test eax, eax
jne 0x1400629e0
mov edx, edi
mov rcx, rsi
call fcn.140061140
mov rdi, rax
test rax, rax
je 0x1400629e0
test rsi, rsi
jne 0x1400629d6
movsxd rax, dword [r12 + 0x18]
test eax, eax
jle 0x1400629d6
mov rdx, qword [r12 + 0x10]
mov r8, rax
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov qword [r12 + 0x10], rdi
jmp 0x140062910
mov rcx, r12
mov byte [r12 + 0x24], 1
call fcn.140062de0
xor eax, eax
mov qword [rsp + 0x40], r15
mov edi, eax
mov ebx, eax
mov r13d, eax
jmp 0x140062660
mov rcx, r13
call qword [0x140119458]
mov rbp, qword [rsp + 0x50]
inc rbp
movsx eax, byte [rbp]
test eax, eax
je case.default.0x140061e2f
mov r9, qword [rsp + 0x40]
xor ebx, ebx
jmp 0x140061b99
mov r8d, r15d
lea rdx, [0x1400fd314]
mov rcx, rsi
call fcn.140062b60
mov r12, qword [rsp + 0x1a0]
vmovaps xmm13, xmmword [rsp + 0x110]
vmovaps xmm12, xmmword [rsp + 0x120]
vmovaps xmm11, xmmword [rsp + 0x130]
vmovaps xmm10, xmmword [rsp + 0x140]
vmovaps xmm9, xmmword [rsp + 0x150]
vmovaps xmm8, xmmword [rsp + 0x160]
vmovaps xmm7, xmmword [rsp + 0x170]
vmovaps xmm6, xmmword [rsp + 0x180]
mov r15, qword [rsp + 0x190]
mov r13, qword [rsp + 0x198]
vmovaps xmm14, xmmword [rsp + 0x100]
mov rdi, qword [rsp + 0x1d8]
vmovaps xmm15, xmmword [rsp + 0xf0]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1400ea4a0
add rsp, 0x1a8
pop r14
pop rsi
pop rbp
pop rbx
ret