Function at 0x14020e8d0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
mov eax, 0x3348
call fcn.140560ac0
sub rsp, rax
movaps xmmword [rsp + 0x3330], xmm12
movaps xmmword [rsp + 0x3320], xmm11
movaps xmmword [rsp + 0x3310], xmm10
movaps xmmword [rsp + 0x3300], xmm9
movaps xmmword [rsp + 0x32f0], xmm8
movaps xmmword [rsp + 0x32e0], xmm7
movaps xmmword [rsp + 0x32d0], xmm6
mov r10d, r8d
mov r14d, ecx
mov r8, qword [rsp + 0x33f0]
movsxd rax, dword [rsp + 0x33c8]
mov rdi, qword [0x1406a7e00]
xor rdi, rsp
mov r11d, 1
mov ecx, r10d
shl r11d, cl
lea esi, [r11 + r14]
dec esi
shr esi, cl
mov qword [rsp + 0x32c8], rdi
mov r15d, 1
mov rcx, r11
mov qword [rsp + 0xe0], r11
lea ebx, [r11 + rdx]
dec ebx
mov dword [rsp + 0x6c], r10d
mov ecx, r10d
shr ebx, cl
imul rax, rax, 0xffffffff99999999
mov rcx, rax
sar rcx, 0x23
shr rax, 0x3f
add ecx, eax
add ecx, 5
mov dword [rsp + 0xbc], ecx
shl r15d, cl
mov rdi, qword [rsp + 0x33c0]
lea eax, [r14 - 1]
mov dword [rsp + 0x68], eax
mov qword [rsp + 0xd8], rdx
lea eax, [rdx - 1]
mov dword [rsp + 0x2c], eax
mov eax, dword [r8]
mov qword [rsp + 0x130], rax
movsxd rax, r14d
mov qword [rsp + 0x80], rax
mov dword [rsp + 0x124], r9d
test r9d, r9d
mov qword [rsp + 0x70], r14
mov dword [rsp + 0x8c], esi
mov dword [rsp + 0x48], r15d
je 0x14020ea14
imul ebx, esi
test ebx, ebx
jle 0x14020facf
mov eax, ebx
cmp ebx, 8
jae 0x14020fa88
xor ecx, ecx
jmp 0x14020fac0
lea rcx, [rsp + 0x1c0]
mov r8d, 0x1000
xor edx, edx
call fcn.140562a70
test ebx, ebx
jle 0x14020facf
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x33b8]
lea rax, [rdx + rcx*4]
lea rdx, [rdx + rcx*4]
add rdx, 4
mov qword [rsp + 0x188], rdx
lea rax, [rax + rcx*4 + 8]
mov qword [rsp + 0xc8], rax
movsxd rax, dword [rsp + 0x68]
mov qword [rsp + 0x110], rax
movsxd rax, dword [rsp + 0xd8]
mov qword [rsp + 0x158], rax
movsxd rax, dword [rsp + 0x8c]
mov ecx, ebx
mov qword [rsp + 0x168], rcx
mov qword [rsp + 0x160], rax
mov eax, eax
mov qword [rsp + 0x180], rax
movss xmm9, dword [0x1405c0214]
movss xmm6, dword [0x1405c02b0]
xorps xmm10, xmm10
movss xmm11, dword [0x1405c02b4]
xor esi, esi
mov dword [rsp + 0xb8], ebx
nop word [rax + rax]
cmp dword [rsp + 0x8c], 0
jle 0x14020fa40
mov edx, esi
mov ecx, dword [rsp + 0x6c]
shl edx, cl
mov rax, qword [rsp + 0xd8]
mov ecx, eax
sub ecx, edx
mov rax, qword [rsp + 0xe0]
cmp eax, ecx
cmovl ecx, eax
mov qword [rsp + 0xa0], rcx
mov r8, rsi
mov rax, qword [rsp + 0x160]
imul r8, rax
mov ecx, 0xffffffff
mov r9, r8
mov qword [rsp + 0x198], r8
add rcx, r8
mov qword [rsp + 0x178], rcx
lea rcx, [rsi - 1]
imul rcx, rax
mov qword [rsp + 0x170], rcx
lea eax, [rdx - 1]
imul eax, r14d
cdqe
mov rcx, qword [rsp + 0x33b0]
lea rax, [rcx + rax*4]
mov qword [rsp + 0x190], rax
mov qword [rsp + 0x1b0], rdx
movsxd rax, edx
mov qword [rsp + 0x100], rax
xor r9d, r9d
mov qword [rsp + 0x138], rsi
jmp 0x14020ebab
shl r8d, 8
or r8d, 0xff000000
mov rax, qword [rsp + 0x198]
add rax, r9
mov dword [rdi + rax*4], r8d
inc r9
cmp r9, qword [rsp + 0x180]
je 0x14020fa40
mov edx, r9d
mov ecx, dword [rsp + 0x6c]
shl edx, cl
mov eax, r14d
sub eax, edx
mov r8, qword [rsp + 0xe0]
cmp r8d, eax
mov ecx, eax
cmovl ecx, r8d
mov qword [rsp + 0x30], rcx
xor ecx, ecx
mov qword [rsp + 0xf0], rdx
test edx, edx
setg dl
cmp eax, r8d
setg al
mov r8d, 0xff
mov qword [rsp + 0x150], r8
mov qword [rsp + 0x148], r8
test r9, r9
je 0x14020ec1b
mov r8, qword [rsp + 0x178]
add r8d, r9d
movsxd r8, r8d
movzx r8d, byte [rdi + r8*4 + 1]
mov qword [rsp + 0x148], r8
mov cl, dl
mov rdx, qword [rsp + 0x30]
add edx, ecx
mov dword [rsp + 0x60], edx
mov rdx, qword [rsp + 0xf0]
sub edx, ecx
test rsi, rsi
je 0x14020ec4f
mov rcx, qword [rsp + 0x170]
add rcx, r9
movzx ecx, byte [rdi + rcx*4 + 1]
mov qword [rsp + 0x150], rcx
mov qword [rsp + 0x140], r9
xor ecx, ecx
mov cl, al
mov r8d, dword [rsp + 0x60]
add ecx, r8d
mov dword [rsp + 0x12c], ecx
movsxd rdx, edx
mov rax, qword [rsp + 0x190]
lea rax, [rax + rdx*4]
mov qword [rsp + 0x1a8], rax
movsxd rax, r8d
lea rax, [rax*4 + 4]
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0xc8]
add rax, rdx
mov qword [rsp + 0x1b8], rax
mov rax, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x30]
lea esi, [rcx + rax]
lea r8d, [rcx - 1]
mov dword [rsp + 0x128], r8d
movsxd rbx, eax
mov rax, qword [rsp + 0x33b0]
mov qword [rsp + 0xc0], rdx
lea rax, [rax + rdx*4]
mov qword [rsp + 0x108], rax
mov r12d, ecx
xor ebp, ebp
mov rax, qword [rsp + 0x33b8]
mov qword [rsp + 0x38], rax
mov r14, qword [rsp + 0x188]
movaps xmm12, xmm9
lea rax, [rsp + 0x12c0]
mov qword [rsp + 0xe8], rax
lea r13, [rsp + 0x22c0]
mov dword [rsp + 0x90], 0
mov rdi, qword [rsp + 0x158]
mov dword [rsp + 0x94], esi
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0xa8], r12
jmp 0x14020ed5d
inc rbp
cmp rbp, 0xe
je 0x14020f5d0
mov r8d, 0x1000
mov rcx, r13
xor edx, edx
call fcn.140562a70
cmp dword [rsp + 0x1b0], 0
jle 0x14020ed98
mov rax, qword [rsp + 0xc0]
lea rcx, [r14 + rax*4]
mov rdx, qword [rsp + 0x1a8]
mov r8, qword [rsp + 0x1a0]
call fcn.140562340
cmp dword [rsp + 0xa0], 0
mov qword [rsp + 0xf8], rbp
jle 0x14020f470
cmp dword [rsp + 0xbc], 0
sete al
test rbp, rbp
sete cl
or cl, al
mov byte [rsp + 0x4f], cl
xor ecx, ecx
mov rax, qword [rsp + 0x38]
jmp 0x14020edf1
mov rcx, qword [rsp + 0x118]
inc rcx
mov rsi, qword [rsp + 0x38]
mov rax, rsi
cmp rcx, qword [rsp + 0xa0]
je 0x14020f475
mov rbx, r14
mov r14, rax
mov rdx, qword [rsp + 0x100]
lea r12, [rcx + rdx]
mov rax, qword [rsp + 0xc0]
mov r9, rcx
lea rcx, [r14 + rax*4]
mov rax, r12
imul rax, qword [rsp + 0x80]
mov r8, qword [rsp + 0x108]
lea rbp, [r8 + rax*4]
mov qword [rsp + 0x118], r9
lea rsi, [r9 + rdx]
inc rsi
xor eax, eax
cmp rsi, rdi
setl al
add eax, dword [rsp + 0x60]
movsxd r8, eax
shl r8, 2
mov rdx, rbp
call fcn.140562340
cmp r15d, 2
jl 0x14020ee8b
test r12, r12
jle 0x14020ee8b
cmp rsi, rdi
jge 0x14020ee8b
mov eax, dword [rsp + 0x33d8]
mov dword [rsp + 0x20], eax
mov ecx, dword [rsp + 0x12c]
mov rdx, qword [rsp + 0x70]
mov r8, rbp
mov r9, qword [rsp + 0x1b8]
call fcn.140210dd0
cmp dword [rsp + 0x33d0], 0
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa8]
mov qword [rsp + 0x38], rbx
je 0x14020ef40
mov rax, qword [rsp + 0x30]
mov r8d, eax
mov rax, qword [rsp + 0xf0]
mov esi, eax
lea r9, [rsp + 0x11c0]
test eax, eax
jne 0x14020ef0d
test r12d, r12d
mov rdx, rbx
mov eax, 0
cmove rdx, rax
lea rax, [0x1406abb80]
lea rcx, [0x1406abb70]
cmove rax, rcx
mov esi, 1
mov rcx, r14
mov r8d, 1
call qword [rax]
mov r8d, dword [rsp + 0x128]
lea r9, [rsp + 0x11c4]
movsxd rax, esi
lea rcx, [r14 + rax*4]
test r12d, r12d
je 0x14020f400
lea rdx, [rbx + rax*4]
lea rax, [0x1406abb70]
mov r10, qword [rsp + 0xf8]
call qword [rax + r10*8]
jmp 0x14020f408
cmp dword [rsp + 0x30], 0
jle 0x14020edd0
lea rax, [0x1406aafb0]
mov rcx, qword [rsp + 0xf8]
mov rax, qword [rax + rcx*8]
mov qword [rsp + 0x98], rax
test r12d, r12d
sete al
or al, byte [rsp + 0x4f]
mov byte [rsp + 0x78], al
mov rdi, rsi
mov ebx, dword [rsp + 0x94]
jmp 0x14020ef98
mov rax, rdi
sub rax, rsi
mov dword [rsp + rax*4 + 0x11c0], ecx
inc rdi
cmp ebx, edi
je 0x14020f408
test r12d, r12d
je 0x14020efd0
test rdi, rdi
je 0x14020eff0
mov rax, qword [rsp + 0x38]
lea rdx, [rax + rdi*4]
lea rcx, [r14 + rdi*4]
add rcx, 0xfffffffffffffffc
call qword [rsp + 0x98]
cmp byte [rsp + 0x78], 0
je 0x14020f002
jmp 0x14020f110
test rdi, rdi
je 0x14020f107
mov eax, dword [r14 + rdi*4 - 4]
jmp 0x14020f110
mov rax, qword [rsp + 0x38]
mov eax, dword [rax]
cmp byte [rsp + 0x78], 0
jne 0x14020f110
test rdi, rdi
je 0x14020f110
cmp dword [rsp + 0x2c], r12d
je 0x14020f110
cmp rdi, qword [rsp + 0x110]
je 0x14020f110
mov rcx, qword [rsp + 0xc8]
movzx r8d, byte [rcx + rdi]
mov ecx, dword [r14 + rdi*4]
mov r9d, r15d
cmp r8d, 3
jae 0x14020f080
mov r9d, ecx
or r9d, 0xff0000
mov edx, eax
and edx, 0xff00ff00
sub r9d, edx
or ecx, 0xff00
mov r8d, eax
and r8d, 0xff00ff
sub ecx, r8d
and r9d, 0xff00ff00
and ecx, 0xff00ff
or ecx, r9d
jmp 0x14020f3c0
mov edx, r9d
shr r9d, 1
cmp edx, r8d
jge 0x14020f080
mov r9d, ecx
shr r9d, 0x18
mov r11d, eax
shr r11d, 0x18
mov r8d, r9d
sub r8d, r11d
cmp ecx, 0x1000000
jb 0x14020f194
cmp r9d, 0xff
je 0x14020f194
movzx esi, r8b
xor r11d, 0xff
mov r8d, edx
neg r8d
mov r10d, esi
and r10d, r8d
xor r9d, 0xff
mov ebp, esi
sub ebp, r10d
cmp r9d, r11d
mov r9d, r10d
adc r9d, edx
sub r9d, esi
cmp ebp, r9d
jge 0x14020f1a1
cmp esi, r11d
jbe 0x14020f1b8
cmp r10d, r11d
jbe 0x14020f1af
jmp 0x14020f1b8
mov eax, 0xff000000
nop dword [rax]
mov edx, dword [r14 + rdi*4]
mov r8d, edx
or r8d, 0xff0000
mov ecx, eax
and ecx, 0xff00ff00
sub r8d, ecx
mov ecx, edx
or ecx, 0xff00
mov r9d, eax
and r9d, 0xff00ff
sub ecx, r9d
and r8d, 0xff00ff00
and ecx, 0xff00ff
or ecx, r8d
cmp edx, 0xffffff
ja 0x14020ef80
and ecx, 0xff000000
and eax, 0xffffff
mov dword [r14 + rdi*4], eax
test r12d, r12d
je 0x14020ef80
test rdi, rdi
jne 0x14020ef80
mov eax, dword [r14]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x38]
mov dword [r8 + rdx*4], eax
jmp 0x14020ef80
mov dword [rsp + 0x58], r8d
mov r8d, edx
neg r8d
jmp 0x14020f1c7
lea r9d, [r10 + rdx]
cmp esi, r11d
ja 0x14020f1c2
cmp r9d, r11d
jle 0x14020f1c2
mov r9d, edx
sar r9d, 1
add r10d, r9d
mov r9d, r10d
mov dword [rsp + 0x58], r10d
jmp 0x14020f1c7
mov dword [rsp + 0x58], r9d
mov r11d, eax
shr r11d, 8
mov r10d, r11d
not r10d
mov ebx, ecx
shr ebx, 8
mov ebp, ebx
not ebp
mov r9d, ebx
sub r9d, r11d
movzx r9d, r9b
movzx esi, r10b
mov r15d, r8d
and r15d, r9d
movzx r10d, bpl
mov ebp, r9d
sub ebp, r15d
cmp r10d, esi
mov r10d, r15d
adc r10d, edx
sub r10d, r9d
cmp ebp, r10d
mov qword [rsp + 0xd0], r8
jge 0x14020f220
cmp r9d, esi
jbe 0x14020f237
cmp r15d, esi
jbe 0x14020f22e
jmp 0x14020f237
lea r8d, [r15 + rdx]
cmp r9d, esi
ja 0x14020f23a
cmp r8d, esi
jle 0x14020f23a
mov r9d, edx
sar r9d, 1
add r15d, r9d
mov r8d, r15d
mov dword [rsp + 0x50], r8d
add r11d, r8d
mov r9d, r11d
sub r9b, bl
mov esi, eax
shr esi, 0x10
mov r10d, ecx
shr r10d, 0x10
mov r8d, dword [rsp + 0x33d8]
test r8d, r8d
not r11d
movzx r15d, r9b
cmove r15d, r8d
movzx ebp, r11b
mov r8d, 0xff
cmove ebp, r8d
sub r10b, r15b
movzx r9d, r10b
mov ebx, ebp
sub ebx, r9d
sub r9d, esi
movzx r11d, r9b
mov r9d, ebp
sub r9d, esi
movzx r9d, r9b
mov esi, r11d
and esi, dword [rsp + 0xd0]
lea r8d, [rsi + rdx]
movzx ebx, bl
mov r10d, r11d
sub r10d, esi
mov dword [rsp + 0x44], r8d
sub r8d, r11d
cmp ebx, r9d
adc r8d, 0
cmp r10d, r8d
jge 0x14020f2d3
cmp r11d, r9d
mov ebx, dword [rsp + 0x94]
jbe 0x14020f2ef
cmp esi, r9d
jbe 0x14020f2e6
jmp 0x14020f2ef
cmp r11d, r9d
mov ebx, dword [rsp + 0x94]
ja 0x14020f2f6
cmp dword [rsp + 0x44], r9d
jle 0x14020f2f6
mov r8d, edx
sar r8d, 1
add esi, r8d
mov r8d, esi
mov dword [rsp + 0x44], esi
sub cl, r15b
movzx ecx, cl
mov r8d, ebp
sub ebp, ecx
sub ecx, eax
movzx r10d, cl
sub r8d, eax
movzx r9d, r8b
mov rsi, qword [rsp + 0xd0]
and esi, r10d
lea ecx, [rsi + rdx]
movzx r8d, bpl
mov r11d, r10d
mov r15, rsi
sub r11d, esi
mov esi, ecx
sub esi, r10d
cmp r8d, r9d
adc esi, 0
cmp r11d, esi
jge 0x14020f35a
cmp r10d, r9d
mov r10d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa8]
jbe 0x14020f37e
cmp r15d, r9d
jbe 0x14020f379
jmp 0x14020f37e
cmp r10d, r9d
mov r10d, dword [rsp + 0x48]
mov rsi, qword [rsp + 0xb0]
mov rbp, qword [rsp + 0xa8]
ja 0x14020f381
cmp ecx, r9d
jle 0x14020f381
sar edx, 1
add r15d, edx
mov ecx, r15d
mov r8d, dword [rsp + 0x58]
shl r8d, 0x18
movzx edx, byte [rsp + 0x44]
shl edx, 0x10
or edx, r8d
mov r8d, dword [rsp + 0x50]
shl r8d, 8
movzx r8d, r8w
or r8d, edx
movzx ecx, cl
or ecx, r8d
mov edx, eax
and edx, 0xff00ff00
mov r8d, eax
and r8d, 0xff00ff
mov r15d, r10d
mov r9d, ecx
and r9d, 0xff00ff00
add r9d, edx
mov edx, ecx
and edx, 0xff00ff
add edx, r8d
and r9d, 0xff00ff00
and edx, 0xff00ff
or edx, r9d
mov dword [r14 + rdi*4], edx
cmp edx, 0xffffff
ja 0x14020ef80
jmp 0x14020f15a
xor edx, edx
call qword [0x1406abb78]
cmp dword [rsp + 0x30], 0
mov rdi, qword [rsp + 0x158]
jle 0x14020edd0
xor eax, eax
nop dword [rax]
mov ecx, dword [rsp + rax*4 + 0x11c0]
mov rdx, rcx
mov rbx, rcx
shr rbx, 0x18
inc dword [r13 + rbx*4]
shr rdx, 0xe
and edx, 0x3fc
inc dword [r13 + rdx + 0x400]
movzx edx, ch
inc dword [r13 + rdx*4 + 0x800]
movzx ecx, cl
inc dword [r13 + rcx*4 + 0xc00]
inc rax
cmp rbp, rax
jne 0x14020f420
jmp 0x14020edd0
mov rsi, qword [rsp + 0x38]
mov rcx, r13
mov edx, 1
movaps xmm2, xmm6
call fcn.1402110e0
movaps xmm7, xmm0
addss xmm7, xmm10
mov rcx, r13
lea rdx, [rsp + 0x1c0]
call qword [0x1406abb40]
movaps xmm8, xmm0
addss xmm8, xmm7
lea rbp, [r13 + 0x400]
mov rcx, rbp
mov edx, 1
movaps xmm2, xmm6
call fcn.1402110e0
movaps xmm7, xmm0
addss xmm7, xmm8
mov rcx, rbp
lea rdx, [rsp + 0x5c0]
call qword [0x1406abb40]
movaps xmm8, xmm0
addss xmm8, xmm7
lea rbp, [r13 + 0x800]
mov rcx, rbp
mov edx, 1
movaps xmm2, xmm6
call fcn.1402110e0
movaps xmm7, xmm0
addss xmm7, xmm8
mov rcx, rbp
lea rdx, [rsp + 0x9c0]
call qword [0x1406abb40]
movaps xmm8, xmm0
addss xmm8, xmm7
lea rbp, [r13 + 0xc00]
mov rcx, rbp
mov edx, 1
movaps xmm2, xmm6
call fcn.1402110e0
movaps xmm7, xmm0
addss xmm7, xmm8
mov rcx, rbp
lea rdx, [rsp + 0xdc0]
call qword [0x1406abb40]
addss xmm0, xmm7
mov rbp, qword [rsp + 0xf8]
cmp rbp, qword [rsp + 0x148]
mov qword [rsp + 0x38], rsi
je 0x14020f580
cmp rbp, qword [rsp + 0x150]
je 0x14020f58f
ucomiss xmm12, xmm0
jbe 0x14020ed50
jmp 0x14020f59e
addss xmm0, xmm11
cmp rbp, qword [rsp + 0x150]
jne 0x14020f56e
addss xmm0, xmm11
ucomiss xmm12, xmm0
jbe 0x14020ed50
mov eax, ebp
mov dword [rsp + 0x90], ebp
mov rax, qword [rsp + 0xe8]
mov qword [rsp + 0xe8], r13
movaps xmm12, xmm0
mov r13, rax
jmp 0x14020ed50
mov r10, qword [rsp + 0xe8]
lea rax, [r10 + 0x400]
lea rcx, [rsp + 0x1c0]
cmp rcx, rax
jae 0x14020f680
lea rcx, [rsp + 0x5c0]
cmp r10, rcx
jae 0x14020f680
xor ecx, ecx
mov r14, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x33c0]
mov ebx, dword [rsp + 0xb8]
mov rsi, qword [rsp + 0x138]
mov r9, qword [rsp + 0x140]
mov r8d, dword [rsp + 0x90]
nop
mov edx, dword [r10 + rcx*4]
add dword [rsp + rcx*4 + 0x1c0], edx
mov edx, dword [r10 + rcx*4 + 4]
add dword [rsp + rcx*4 + 0x1c4], edx
mov edx, dword [r10 + rcx*4 + 8]
add dword [rsp + rcx*4 + 0x1c8], edx
mov edx, dword [r10 + rcx*4 + 0xc]
add dword [rsp + rcx*4 + 0x1cc], edx
add rcx, 4
cmp rcx, 0x100
jne 0x14020f630
jmp 0x14020f720
xor ecx, ecx
mov r14, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x33c0]
mov ebx, dword [rsp + 0xb8]
mov rsi, qword [rsp + 0x138]
mov r9, qword [rsp + 0x140]
mov r8d, dword [rsp + 0x90]
nop
movdqu xmm0, xmmword [r10 + rcx*4]
movdqu xmm1, xmmword [r10 + rcx*4 + 0x10]
paddd xmm0, xmmword [rsp + rcx*4 + 0x1c0]
paddd xmm1, xmmword [rsp + rcx*4 + 0x1d0]
movdqa xmmword [rsp + rcx*4 + 0x1c0], xmm0
movdqa xmmword [rsp + rcx*4 + 0x1d0], xmm1
movdqu xmm0, xmmword [r10 + rcx*4 + 0x20]
movdqu xmm1, xmmword [r10 + rcx*4 + 0x30]
paddd xmm0, xmmword [rsp + rcx*4 + 0x1e0]
paddd xmm1, xmmword [rsp + rcx*4 + 0x1f0]
movdqa xmmword [rsp + rcx*4 + 0x1e0], xmm0
movdqa xmmword [rsp + rcx*4 + 0x1f0], xmm1
add rcx, 0x10
cmp rcx, 0x100
jne 0x14020f6b0
lea rcx, [r10 + 0x800]
lea rdx, [rsp + 0x5c0]
cmp rdx, rcx
jae 0x14020f7a0
lea rdx, [rsp + 0x9c0]
cmp rax, rdx
jae 0x14020f7a0
xor eax, eax
nop word cs:[rax + rax]
mov edx, dword [r10 + rax*4 + 0x400]
add dword [rsp + rax*4 + 0x5c0], edx
mov edx, dword [r10 + rax*4 + 0x404]
add dword [rsp + rax*4 + 0x5c4], edx
mov edx, dword [r10 + rax*4 + 0x408]
add dword [rsp + rax*4 + 0x5c8], edx
mov edx, dword [r10 + rax*4 + 0x40c]
add dword [rsp + rax*4 + 0x5cc], edx
add rax, 4
cmp rax, 0x100
jne 0x14020f750
jmp 0x14020f82c
xor eax, eax
nop word cs:[rax + rax]
movdqu xmm0, xmmword [r10 + rax*4 + 0x400]
movdqu xmm1, xmmword [r10 + rax*4 + 0x410]
paddd xmm0, xmmword [rsp + rax*4 + 0x5c0]
paddd xmm1, xmmword [rsp + rax*4 + 0x5d0]
movdqa xmmword [rsp + rax*4 + 0x5c0], xmm0
movdqa xmmword [rsp + rax*4 + 0x5d0], xmm1
movdqu xmm0, xmmword [r10 + rax*4 + 0x420]
movdqu xmm1, xmmword [r10 + rax*4 + 0x430]
paddd xmm0, xmmword [rsp + rax*4 + 0x5e0]
paddd xmm1, xmmword [rsp + rax*4 + 0x5f0]
movdqa xmmword [rsp + rax*4 + 0x5e0], xmm0
movdqa xmmword [rsp + rax*4 + 0x5f0], xmm1
add rax, 0x10
cmp rax, 0x100
jne 0x14020f7b0
lea rax, [r10 + 0xc00]
lea rdx, [rsp + 0x9c0]
cmp rdx, rax
jae 0x14020f8a0
lea rdx, [rsp + 0xdc0]
cmp rcx, rdx
jae 0x14020f8a0
xor ecx, ecx
nop
mov edx, dword [r10 + rcx*4 + 0x800]
add dword [rsp + rcx*4 + 0x9c0], edx
mov edx, dword [r10 + rcx*4 + 0x804]
add dword [rsp + rcx*4 + 0x9c4], edx
mov edx, dword [r10 + rcx*4 + 0x808]
add dword [rsp + rcx*4 + 0x9c8], edx
mov edx, dword [r10 + rcx*4 + 0x80c]
add dword [rsp + rcx*4 + 0x9cc], edx
add rcx, 4
cmp rcx, 0x100
jne 0x14020f850
jmp 0x14020f92d
xor ecx, ecx
nop word cs:[rax + rax]
movdqu xmm0, xmmword [r10 + rcx*4 + 0x800]
movdqu xmm1, xmmword [r10 + rcx*4 + 0x810]
paddd xmm0, xmmword [rsp + rcx*4 + 0x9c0]
paddd xmm1, xmmword [rsp + rcx*4 + 0x9d0]
movdqa xmmword [rsp + rcx*4 + 0x9c0], xmm0
movdqa xmmword [rsp + rcx*4 + 0x9d0], xmm1
movdqu xmm0, xmmword [r10 + rcx*4 + 0x820]
movdqu xmm1, xmmword [r10 + rcx*4 + 0x830]
paddd xmm0, xmmword [rsp + rcx*4 + 0x9e0]
paddd xmm1, xmmword [rsp + rcx*4 + 0x9f0]
movdqa xmmword [rsp + rcx*4 + 0x9e0], xmm0
movdqa xmmword [rsp + rcx*4 + 0x9f0], xmm1
add rcx, 0x10
cmp rcx, 0x100
jne 0x14020f8b0
lea rcx, [r10 + 0x1000]
lea rdx, [rsp + 0xdc0]
cmp rdx, rcx
jae 0x14020f9a0
lea rcx, [rsp + 0x11c0]
cmp rax, rcx
jae 0x14020f9a0
xor eax, eax
mov ecx, dword [r10 + rax*4 + 0xc00]
add dword [rsp + rax*4 + 0xdc0], ecx
mov ecx, dword [r10 + rax*4 + 0xc04]
add dword [rsp + rax*4 + 0xdc4], ecx
mov ecx, dword [r10 + rax*4 + 0xc08]
add dword [rsp + rax*4 + 0xdc8], ecx
mov ecx, dword [r10 + rax*4 + 0xc0c]
add dword [rsp + rax*4 + 0xdcc], ecx
add rax, 4
cmp rax, 0x100
jne 0x14020f950
jmp 0x14020eb80
xor eax, eax
nop word cs:[rax + rax]
movdqu xmm0, xmmword [r10 + rax*4 + 0xc00]
movdqu xmm1, xmmword [r10 + rax*4 + 0xc10]
paddd xmm0, xmmword [rsp + rax*4 + 0xdc0]
paddd xmm1, xmmword [rsp + rax*4 + 0xdd0]
movdqa xmmword [rsp + rax*4 + 0xdc0], xmm0
movdqa xmmword [rsp + rax*4 + 0xdd0], xmm1
movdqu xmm0, xmmword [r10 + rax*4 + 0xc20]
movdqu xmm1, xmmword [r10 + rax*4 + 0xc30]
paddd xmm0, xmmword [rsp + rax*4 + 0xde0]
paddd xmm1, xmmword [rsp + rax*4 + 0xdf0]
movdqa xmmword [rsp + rax*4 + 0xde0], xmm0
movdqa xmmword [rsp + rax*4 + 0xdf0], xmm1
add rax, 0x10
cmp rax, 0x100
jne 0x14020f9b0
jmp 0x14020eb80
mov eax, esi
imul eax, dword [rsp + 0x33e8]
cdq
idiv ebx
mov rcx, qword [rsp + 0x130]
lea edx, [rax + rcx]
mov rcx, qword [rsp + 0x33e0]
mov r8, qword [rsp + 0x33f0]
call fcn.1400711a0
test eax, eax
je 0x1402103ad
inc rsi
cmp rsi, qword [rsp + 0x168]
jne 0x14020ead0
jmp 0x14020facf
mov ecx, eax
and ecx, 0xfffffff8
xor edx, edx
movdqa xmm0, xmmword [0x1405c02a0]
nop word [rax + rax]
movdqu xmmword [rdi + rdx*4], xmm0
movdqu xmmword [rdi + rdx*4 + 0x10], xmm0
add rdx, 8
cmp rcx, rdx
jne 0x14020faa0
cmp rcx, rax
je 0x14020facf
nop dword [rax]
mov dword [rdi + rcx*4], 0xff000b00
inc rcx
cmp rax, rcx
jne 0x14020fac0
mov r8, qword [rsp + 0xd8]
test r8d, r8d
jle 0x140210324
mov rdx, qword [rsp + 0x80]
mov rax, qword [rsp + 0x33b8]
lea rax, [rax + rdx*4]
mov rcx, qword [rsp + 0x33b8]
lea r13, [rcx + rdx*4]
add r13, 4
lea rcx, [rax + rdx*4 + 4]
lea rax, [rax + rdx*4 + 8]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x33b8]
lea rcx, [rdx + rcx + 4]
mov qword [rsp + 0x38], rcx
movsxd rdi, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x2c]
mov qword [rsp + 0xd0], rcx
mov edx, r8d
xor r12d, r12d
mov qword [rsp + 0xa0], rdi
mov qword [rsp + 0x60], rdx
jmp 0x14020fb75
lea rcx, [r13 + 4]
xor edx, edx
mov r8d, dword [rsp + 0x68]
mov r9, rbx
call qword [0x1406abb78]
mov rax, rsi
mov rdx, qword [rsp + 0x60]
cmp r12, rdx
je 0x140210324
mov rsi, r13
mov r13, rax
mov rbp, r12
mov rax, r12
imul rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x33b0]
lea rbx, [rcx + rax*4]
inc r12
cmp r12, rdx
mov eax, r14d
adc eax, 0
movsxd r8, eax
shl r8, 2
mov rcx, r13
mov rdx, rbx
call fcn.140562340
cmp dword [rsp + 0x124], 0
je 0x14020fc10
test rbp, rbp
mov rdx, rsi
cmove rdx, rbp
lea rax, [0x1406abb80]
lea rcx, [0x1406abb70]
cmove rax, rcx
mov rcx, r13
mov r8d, 1
mov r9, rbx
call qword [rax]
add rbx, 4
test rbp, rbp
je 0x14020fb50
lea rdx, [rsi + 4]
lea rcx, [r13 + 4]
mov r8d, dword [rsp + 0x68]
mov r9, rbx
call qword [0x1406abbc8]
jmp 0x14020fb64
mov qword [rsp + 0x30], rbp
mov qword [rsp + 0xb0], rbx
mov qword [rsp + 0x78], rsi
cmp r15d, 2
jl 0x14020fc7d
mov r10, qword [rsp + 0x30]
lea rax, [r10 + 2]
mov rdx, qword [rsp + 0x60]
cmp rax, rdx
jae 0x14020fc8e
mov rax, r12
imul rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x33b0]
lea r8, [rcx + rax*4]
mov eax, dword [rsp + 0x33d8]
mov dword [rsp + 0x20], eax
mov ecx, r14d
mov edx, r14d
mov rsi, qword [rsp + 0x50]
mov r9, rsi
call fcn.140210dd0
mov rdx, qword [rsp + 0x60]
mov r10, qword [rsp + 0x30]
jmp 0x14020fc93
mov rsi, qword [rsp + 0x38]
mov r10, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x60]
jmp 0x14020fc9d
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x50], rax
test r14d, r14d
mov eax, dword [rsp + 0x8c]
jle 0x140210311
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x108], r12
mov edx, r10d
mov ecx, dword [rsp + 0x6c]
shr edx, cl
imul edx, eax
test r10, r10
mov rax, qword [rsp + 0x78]
cmove rax, r10
mov qword [rsp + 0xc0], rax
xor esi, esi
mov r12, qword [rsp + 0x50]
mov dword [rsp + 0xa8], edx
jmp 0x14020fd1b
lea rcx, [rax*4]
add rcx, r13
xor edx, edx
mov r8d, ebp
call qword [0x1406abb78]
mov r10, qword [rsp + 0x30]
mov r15d, dword [rsp + 0x48]
cmp dword [rsp + 0x44], r14d
jge 0x1402102f0
mov r15d, esi
mov eax, esi
mov ecx, dword [rsp + 0x6c]
sar eax, cl
add eax, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0xe0]
add ecx, r15d
cmp ecx, r14d
mov esi, r14d
mov dword [rsp + 0x44], ecx
cmovl esi, ecx
cdqe
mov rcx, qword [rsp + 0x33c0]
movzx ebx, byte [rcx + rax*4 + 1]
movsxd rdx, r15d
mov rax, qword [rsp + 0xb0]
lea r9, [rax + rdx*4]
cmp dword [rsp + 0x33d0], 0
mov qword [rsp + 0x98], r9
je 0x14020fe00
mov ebp, esi
sub ebp, r15d
test r15d, r15d
jne 0x14020fdc4
test r10, r10
lea rax, [0x1406abb80]
lea rcx, [0x1406abb70]
cmove rax, rcx
mov r15d, 1
mov rcx, r13
mov rdx, qword [rsp + 0xc0]
mov r8d, 1
call qword [rax]
mov r9, qword [rsp + 0x98]
mov r10, qword [rsp + 0x30]
add r9, 4
dec ebp
movsxd rax, r15d
test r10, r10
je 0x14020fcf0
mov rcx, qword [rsp + 0x78]
lea rdx, [rcx + rax*4]
lea rcx, [rax*4]
add rcx, r13
mov r8d, ebp
lea rax, [0x1406abb70]
call qword [rax + rbx*8]
jmp 0x14020fd06
cmp esi, r15d
mov r15d, dword [rsp + 0x48]
jle 0x14020fd10
mov eax, ebx
lea rcx, [0x1406aafb0]
mov rcx, qword [rcx + rax*8]
test r10, r10
sete al
cmp dword [rsp + 0xbc], 0
sete r8b
test ebx, ebx
mov rbx, rcx
sete cl
or r8b, al
or r8b, cl
mov byte [rsp + 0x118], r8b
mov rbp, rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x58], rbx
jmp 0x14020fe75
mov rax, rbp
sub rax, r11
mov dword [r9 + rax*4], ecx
inc rbp
cmp esi, ebp
je 0x14020fd10
test r10, r10
je 0x14020fec0
test rbp, rbp
mov rax, qword [rsp + 0x78]
je 0x14020fee0
lea rdx, [rax + rbp*4]
lea rcx, [rbp*4 - 4]
add rcx, r13
call rbx
mov r9, qword [rsp + 0x98]
mov r10, qword [rsp + 0x30]
cmp byte [rsp + 0x118], 0
je 0x14020fef0
jmp 0x14020fff0
test rbp, rbp
je 0x14020ffe8
mov eax, dword [r13 + rbp*4 - 4]
jmp 0x14020fff0
mov eax, dword [rax]
cmp byte [rsp + 0x118], 0
jne 0x14020fff0
test rbp, rbp
je 0x14020fff0
cmp r10, qword [rsp + 0xd0]
je 0x14020fff0
cmp rbp, rdi
je 0x14020fff0
movzx r8d, byte [r12 + rbp]
mov ecx, dword [r13 + rbp*4]
mov r11d, r15d
cmp r8d, 3
jae 0x14020ff60
mov r11d, ecx
or r11d, 0xff0000
mov edx, eax
and edx, 0xff00ff00
sub r11d, edx
or ecx, 0xff00
mov r8d, eax
and r8d, 0xff00ff
sub ecx, r8d
and r11d, 0xff00ff00
and ecx, 0xff00ff
or ecx, r11d
jmp 0x1402102b8
mov edx, r11d
shr r11d, 1
cmp edx, r8d
jge 0x14020ff60
mov r11d, ecx
shr r11d, 0x18
mov r9d, eax
shr r9d, 0x18
mov r14d, r11d
sub r14d, r9d
cmp ecx, 0x1000000
jb 0x14021007c
cmp r11d, 0xff
je 0x14021007c
movzx ebx, r14b
xor r9d, 0xff
mov r8d, edx
neg r8d
mov r10d, ebx
and r10d, r8d
xor r11d, 0xff
mov r15d, ebx
sub r15d, r10d
cmp r11d, r9d
mov r11d, r10d
adc r11d, edx
sub r11d, ebx
cmp r15d, r11d
jge 0x140210084
cmp ebx, r9d
jbe 0x14021009b
cmp r10d, r9d
jbe 0x140210092
jmp 0x14021009b
mov eax, 0xff000000
nop dword [rax]
mov edx, dword [r13 + rbp*4]
mov r8d, edx
or r8d, 0xff0000
mov ecx, eax
and ecx, 0xff00ff00
sub r8d, ecx
mov ecx, edx
or ecx, 0xff00
mov r11d, eax
and r11d, 0xff00ff
sub ecx, r11d
and r8d, 0xff00ff00
and ecx, 0xff00ff
or ecx, r8d
mov r11, qword [rsp + 0x38]
cmp edx, 0xffffff
ja 0x14020fe60
and ecx, 0xff000000
and eax, 0xffffff
mov dword [r13 + rbp*4], eax
test r10, r10
je 0x14020fe60
test rbp, rbp
jne 0x14020fe60
mov eax, dword [r13]
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x78]
mov dword [r8 + rdx*4], eax
jmp 0x14020fe60
mov r8d, edx
neg r8d
jmp 0x14021009e
lea r14d, [r10 + rdx]
cmp ebx, r9d
ja 0x14021009e
cmp r14d, r9d
jle 0x14021009e
mov r9d, edx
sar r9d, 1
add r10d, r9d
mov r14d, r10d
mov r11d, eax
shr r11d, 8
mov r9d, r11d
not r9d
mov ebx, ecx
shr ebx, 8
mov r12d, ebx
not r12d
mov r10d, ebx
sub r10d, r11d
movzx edi, r10b
movzx r9d, r9b
mov r15d, r8d
and r15d, edi
movzx r12d, r12b
mov r10d, edi
sub r10d, r15d
cmp r12d, r9d
mov r12d, r15d
adc r12d, edx
sub r12d, edi
cmp r10d, r12d
mov dword [rsp + 0x110], r14d
jge 0x1402100f9
cmp edi, r9d
jbe 0x140210110
cmp r15d, r9d
jbe 0x140210107
jmp 0x140210110
lea r10d, [r15 + rdx]
cmp edi, r9d
ja 0x140210113
cmp r10d, r9d
jle 0x140210113
mov r9d, edx
sar r9d, 1
add r15d, r9d
mov r10d, r15d
mov dword [rsp + 0xc8], r10d
add r11d, r10d
mov r9d, r11d
sub r9b, bl
mov r10d, eax
shr r10d, 0x10
mov edi, ecx
shr edi, 0x10
mov r14d, dword [rsp + 0x33d8]
test r14d, r14d
not r11d
movzx ebx, r9b
cmove ebx, r14d
movzx r15d, r11b
mov r9d, 0xff
cmove r15d, r9d
sub dil, bl
movzx r9d, dil
mov edi, r15d
sub edi, r9d
sub r9d, r10d
movzx r11d, r9b
mov r9d, r15d
sub r9d, r10d
movzx r10d, r9b
mov r9d, r11d
and r9d, r8d
lea r14d, [r9 + rdx]
movzx edi, dil
mov r12d, r11d
sub r12d, r9d
mov dword [rsp + 0x2c], r14d
sub r14d, r11d
cmp edi, r10d
adc r14d, 0
cmp r12d, r14d
jge 0x1402101ab
cmp r11d, r10d
mov r14, qword [rsp + 0x50]
jbe 0x1402101c5
cmp r9d, r10d
jbe 0x1402101bc
jmp 0x1402101c5
cmp r11d, r10d
mov r14, qword [rsp + 0x50]
ja 0x1402101ca
cmp dword [rsp + 0x2c], r10d
jle 0x1402101ca
mov r10d, edx
sar r10d, 1
add r9d, r10d
mov dword [rsp + 0x2c], r9d
sub cl, bl
movzx ecx, cl
mov r9d, r15d
sub r15d, ecx
sub ecx, eax
movzx r10d, cl
sub r9d, eax
movzx r12d, r9b
and r8d, r10d
lea ecx, [r8 + rdx]
movzx r11d, r15b
mov edi, r10d
sub edi, r8d
mov ebx, ecx
sub ebx, r10d
cmp r11d, r12d
adc ebx, 0
cmp edi, ebx
jge 0x14021023d
cmp r10d, r12d
mov r15d, dword [rsp + 0x48]
mov rdi, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x58]
jbe 0x14021022b
cmp r8d, r12d
ja 0x14021022b
sar edx, 1
add r8d, edx
mov ecx, r8d
mov r10, qword [rsp + 0x30]
mov r12, r14
mov r14, qword [rsp + 0x70]
jmp 0x140210276
cmp r10d, r12d
mov r15d, dword [rsp + 0x48]
mov rdi, qword [rsp + 0xa0]
mov r9, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x58]
ja 0x14021022e
cmp ecx, r12d
mov r10, qword [rsp + 0x30]
mov r12, r14
mov r14, qword [rsp + 0x70]
jle 0x140210276
sar edx, 1
add r8d, edx
mov ecx, r8d
mov r8d, dword [rsp + 0x110]
shl r8d, 0x18
movzx edx, byte [rsp + 0x2c]
shl edx, 0x10
or edx, r8d
mov r8d, dword [rsp + 0xc8]
shl r8d, 8
movzx r8d, r8w
or r8d, edx
movzx ecx, cl
or ecx, r8d
mov edx, eax
and edx, 0xff00ff00
mov r8d, eax
and r8d, 0xff00ff
mov r11d, ecx
and r11d, 0xff00ff00
add r11d, edx
mov edx, ecx
and edx, 0xff00ff
add edx, r8d
and r11d, 0xff00ff00
and edx, 0xff00ff
or edx, r11d
mov dword [r13 + rbp*4], edx
jmp 0x14021002f
mov qword [rsp + 0x50], r12
mov rax, qword [rsp + 0x100]
mov qword [rsp + 0x38], rax
mov rdx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x108]
jmp 0x140210316
mov qword [rsp + 0x38], rsi
mov rax, qword [rsp + 0x78]
cmp r12, rdx
jne 0x14020fb75
mov rdx, qword [rsp + 0x130]
add edx, dword [rsp + 0x33e8]
mov rcx, qword [rsp + 0x33e0]
mov r8, qword [rsp + 0x33f0]
call fcn.1400711a0
mov esi, eax
mov rcx, qword [rsp + 0x32c8]
xor rcx, rsp
call fcn.1405602f0
mov eax, esi
movaps xmm6, xmmword [rsp + 0x32d0]
movaps xmm7, xmmword [rsp + 0x32e0]
movaps xmm8, xmmword [rsp + 0x32f0]
movaps xmm9, xmmword [rsp + 0x3300]
movaps xmm10, xmmword [rsp + 0x3310]
movaps xmm11, xmmword [rsp + 0x3320]
movaps xmm12, xmmword [rsp + 0x3330]
add rsp, 0x3348
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor esi, esi
jmp 0x14021034a