Function at 0x140c22c20
Capabilities:
Encrypt data using camellia

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x50]
sub rsp, 0x150
mov rax, qword [0x140db81c0]
xor rax, rsp
mov qword [rbp + 0x40], rax
xorps xmm0, xmm0
mov r15d, r8d
lea rsi, [rcx + 4]
mov dword [rsp + 0x60], r15d
mov rdi, rdx
mov rbx, rcx
mov rcx, rsi
xor edx, edx
mov r8d, 0x110
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
call fcn.140c85fe0
mov eax, r15d
sub eax, 0x80
je 0x140c22ca7
sub eax, 0x40
je 0x140c22c9a
cmp eax, 0x40
je 0x140c22c9a
mov eax, 0xffffffdc
jmp 0x140c24217
mov eax, 4
mov r14d, 1
jmp 0x140c22caf
xor r14d, r14d
mov eax, 3
mov qword [rsp + 0x188], r12
mov r8, r15
shr r8, 3
mov qword [rsp + 0x190], r13
mov dword [rbx], eax
test r8, r8
je 0x140c22cda
mov rdx, rdi
lea rcx, [rsp + 0x70]
call fcn.140c85940
movzx edx, byte [rbp - 0x79]
movzx r8d, byte [rbp - 0x7c]
movzx r9d, byte [rbp - 0x80]
cmp r15d, 0xc0
jne 0x140c22d38
movzx r15d, byte [rbp - 0x7f]
movzx eax, r8b
movzx r12d, byte [rbp - 0x7e]
not al
movzx r13d, byte [rbp - 0x7d]
movzx ecx, r9b
mov byte [rsp + 0x40], al
not cl
movzx eax, byte [rbp - 0x7b]
not r15b
not al
not r12b
mov byte [rsp + 0x41], al
not r13b
movzx eax, byte [rbp - 0x7a]
not al
mov byte [rsp + 0x42], al
movzx eax, dl
not al
mov byte [rsp + 0x43], al
jmp 0x140c22d6b
movzx eax, byte [rbp - 0x71]
movzx r13d, byte [rbp - 0x75]
movzx r12d, byte [rbp - 0x76]
movzx r15d, byte [rbp - 0x77]
movzx ecx, byte [rbp - 0x78]
mov byte [rsp + 0x43], al
movzx eax, byte [rbp - 0x72]
mov byte [rsp + 0x42], al
movzx eax, byte [rbp - 0x73]
mov byte [rsp + 0x41], al
movzx eax, byte [rbp - 0x74]
mov byte [rsp + 0x40], al
movzx eax, byte [rsp + 0x71]
xorps xmm0, xmm0
movzx edi, byte [rsp + 0x70]
movzx ebx, byte [rsp + 0x74]
movzx r11d, byte [rsp + 0x78]
movzx r10d, byte [rsp + 0x7c]
shl edi, 8
or edi, eax
shl ebx, 8
movzx eax, byte [rsp + 0x72]
shl r11d, 8
shl r10d, 8
shl r9d, 8
shl edi, 8
or edi, eax
shl r8d, 8
movzx eax, byte [rsp + 0x73]
movups xmmword [rbp - 0x40], xmm0
shl edi, 8
or edi, eax
mov dword [rbp + 0x10], 0xa09e667f
movzx eax, byte [rsp + 0x75]
or ebx, eax
mov dword [rbp + 0x14], 0x3bcc908b
movzx eax, byte [rsp + 0x76]
shl ebx, 8
or ebx, eax
mov dword [rbp + 0x18], 0xb67ae858
movzx eax, byte [rsp + 0x77]
shl ebx, 8
or ebx, eax
mov dword [rbp + 0x1c], 0x4caa73b2
movzx eax, byte [rsp + 0x79]
or r11d, eax
mov dword [rbp + 0x20], 0xc6ef372f
movzx eax, byte [rsp + 0x7a]
shl r11d, 8
or r11d, eax
mov dword [rbp + 0x24], 0xe94f82be
movzx eax, byte [rsp + 0x7b]
shl r11d, 8
or r11d, eax
mov dword [rbp + 0x28], 0x54ff53a5
movzx eax, byte [rsp + 0x7d]
or r10d, eax
mov dword [rbp + 0x2c], 0xf1d36f1c
movzx eax, byte [rsp + 0x7e]
shl r10d, 8
or r10d, eax
mov dword [rbp + 0x30], 0x10e527fa
movzx eax, byte [rsp + 0x7f]
shl r10d, 8
or r10d, eax
mov dword [rbp + 0x34], 0xde682d1d
movzx eax, byte [rbp - 0x7f]
or r9d, eax
mov dword [rbp + 0x38], 0xb05688c2
movzx eax, byte [rbp - 0x7e]
shl r9d, 8
or r9d, eax
mov dword [rbp + 0x3c], 0xb3e6c1fd
movzx eax, byte [rbp - 0x7d]
shl r9d, 8
or r9d, eax
mov dword [rbp - 0x40], edi
movzx eax, byte [rbp - 0x7b]
or r8d, eax
mov dword [rbp - 0x3c], ebx
movzx eax, byte [rbp - 0x7a]
shl r8d, 8
or r8d, eax
mov dword [rbp - 0x38], r11d
movups xmmword [rbp - 0x30], xmm0
shl r8d, 8
or r8d, edx
mov dword [rbp - 0x34], r10d
mov dword [rbp - 0x2c], r8d
movups xmmword [rbp - 0x20], xmm0
mov dword [rbp - 0x30], r9d
movups xmmword [rbp - 0x10], xmm0
movzx edx, cl
movzx ecx, byte [rsp + 0x40]
xor r8d, ebx
shl edx, 8
xor edi, r9d
shl ecx, 8
movzx eax, r15b
or edx, eax
mov dword [rbp - 0x1c], r8d
shl edx, 8
lea r8, [rbp - 0x18]
movzx eax, r12b
or edx, eax
mov dword [rbp - 0x20], edi
shl edx, 8
movzx eax, r13b
or edx, eax
movzx eax, byte [rsp + 0x41]
or ecx, eax
mov dword [rbp - 0x28], edx
movzx eax, byte [rsp + 0x42]
xor edx, r11d
shl ecx, 8
or ecx, eax
mov dword [rbp - 0x18], edx
movzx eax, byte [rsp + 0x43]
lea rdx, [rbp + 0x10]
shl ecx, 8
or ecx, eax
xor r10d, ecx
mov dword [rbp - 0x24], ecx
lea rcx, [rbp - 0x20]
mov dword [rbp - 0x14], r10d
call fcn.140c21f40
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x18]
lea rcx, [rbp - 0x18]
call fcn.140c21f40
movdqu xmm0, xmmword [rbp - 0x40]
lea r8, [rbp - 0x18]
xorps xmm0, xmmword [rbp - 0x20]
lea rdx, [rbp + 0x20]
lea rcx, [rbp - 0x20]
movdqu xmmword [rbp - 0x20], xmm0
call fcn.140c21f40
lea r8, [rbp - 0x20]
lea rdx, [rbp + 0x28]
lea rcx, [rbp - 0x18]
call fcn.140c21f40
cmp dword [rsp + 0x60], 0x80
jbe 0x140c22fc3
mov eax, dword [rbp - 0x20]
lea r8, [rbp - 8]
xor eax, dword [rbp - 0x30]
lea rdx, [rbp + 0x30]
mov dword [rbp - 0x10], eax
lea rcx, [rbp - 0x10]
mov eax, dword [rbp - 0x1c]
xor eax, dword [rbp - 0x2c]
mov dword [rbp - 0xc], eax
mov eax, dword [rbp - 0x18]
xor eax, dword [rbp - 0x28]
mov dword [rbp - 8], eax
mov eax, dword [rbp - 0x14]
xor eax, dword [rbp - 0x24]
mov dword [rbp - 4], eax
call fcn.140c21f40
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x38]
lea rcx, [rbp - 8]
call fcn.140c21f40
movups xmm0, xmmword [rbp - 0x40]
lea r11, [0x140000000]
movups xmmword [rsp + 0x70], xmm0
mov r12d, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x74]
mov r15d, dword [rsp + 0x78]
mov edi, dword [rsp + 0x7c]
mov ecx, r14d
shl rcx, 4
mov qword [rsp + 0x58], rcx
cmp byte [r11 + rcx + 0xd3a120], 0
je 0x140c2303d
mov edx, r12d
mov eax, r13d
shr eax, 0x11
mov r8d, r15d
shl edx, 0xf
mov r9d, edi
xor edx, eax
shr r8d, 0x11
shr r9d, 0x11
mov eax, r13d
shl eax, 0xf
mov r10d, edi
xor r8d, eax
shl r10d, 0xf
mov eax, r15d
shl eax, 0xf
xor r9d, eax
mov eax, r12d
shr eax, 0x11
xor r10d, eax
jmp 0x140c2304c
mov r10d, dword [rbp - 0x74]
mov r9d, dword [rbp - 0x78]
mov r8d, dword [rbp - 0x7c]
mov edx, dword [rbp - 0x80]
cmp byte [r11 + rcx + 0xd3a121], 0
je 0x140c23094
mov ebx, r15d
shr edi, 2
shr ebx, 2
mov r11d, r12d
shl r11d, 0x1e
mov eax, r13d
shr eax, 2
xor r11d, eax
mov eax, r13d
shl eax, 0x1e
xor ebx, eax
mov eax, r15d
mov r15d, dword [rsp + 0x7c]
shl eax, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, r12d
shr eax, 2
xor r15d, eax
jmp 0x140c230a2
mov r15d, dword [rbp - 0x64]
mov edi, dword [rbp - 0x68]
mov ebx, dword [rbp - 0x6c]
mov r11d, dword [rbp - 0x70]
lea rax, [0x140000000]
cmp byte [rcx + rax + 0xd3a122], 0
je 0x140c23102
mov ecx, dword [rsp + 0x7c]
mov eax, r13d
mov r13d, dword [rsp + 0x78]
shr eax, 0x13
shr ecx, 0x13
shl r12d, 0xd
xor r12d, eax
shr r13d, 0x13
mov eax, dword [rsp + 0x74]
shl eax, 0xd
xor r13d, eax
mov eax, dword [rsp + 0x78]
shl eax, 0xd
xor ecx, eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x34], ecx
mov ecx, dword [rsp + 0x7c]
shl ecx, 0xd
shr eax, 0x13
xor ecx, eax
mov dword [rsp + 0x44], ecx
mov rcx, qword [rsp + 0x58]
jmp 0x140c23118
mov eax, dword [rbp - 0x54]
mov r13d, dword [rbp - 0x5c]
mov r12d, dword [rbp - 0x60]
mov dword [rsp + 0x44], eax
mov eax, dword [rbp - 0x58]
mov dword [rsp + 0x34], eax
lea rax, [0x140000000]
cmp byte [rcx + rax + 0xd3a123], 0
je 0x140c2317b
mov ecx, dword [rsp + 0x70]
mov eax, dword [rsp + 0x74]
shl ecx, 0x1c
shr eax, 4
xor ecx, eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x78]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x7c]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x4c], ecx
mov ecx, dword [rsp + 0x7c]
shl ecx, 0x1c
shr eax, 4
xor ecx, eax
mov dword [rsp + 0x50], ecx
jmp 0x140c23197
mov eax, dword [rbp - 0x44]
mov dword [rsp + 0x50], eax
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x4c], eax
mov eax, dword [rbp - 0x4c]
mov dword [rsp + 0x48], eax
mov eax, dword [rbp - 0x50]
mov dword [rsp + 0x38], eax
mov eax, r14d
lea rcx, [rax + rax*4]
shl rcx, 4
lea rax, [0x140000000]
mov qword [rsp + 0x20], rcx
movsx rax, byte [rcx + rax + 0xd3a140]
cmp al, 0xff
je 0x140c231c7
mov ecx, dword [rsp + 0x70]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xd3a141]
cmp al, 0xff
je 0x140c231e7
mov ecx, dword [rsp + 0x74]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xd3a142]
cmp al, 0xff
je 0x140c23207
mov ecx, dword [rsp + 0x78]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xd3a143]
cmp al, 0xff
je 0x140c23227
mov ecx, dword [rsp + 0x7c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xd3a144]
cmp al, 0xff
je 0x140c2323e
mov dword [rsi + rax*4], edx
lea rax, [0x140000000]
movsx rax, byte [rcx + rax + 0xd3a145]
cmp al, 0xff
je 0x140c23256
mov dword [rsi + rax*4], r8d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a146]
cmp al, 0xff
je 0x140c2326e
mov dword [rsi + rax*4], r9d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a147]
cmp al, 0xff
je 0x140c23286
mov dword [rsi + rax*4], r10d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a148]
cmp al, 0xff
je 0x140c2329e
mov dword [rsi + rax*4], r11d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a149]
cmp al, 0xff
je 0x140c232b5
mov dword [rsi + rax*4], ebx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a14a]
cmp al, 0xff
je 0x140c232cc
mov dword [rsi + rax*4], edi
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a14b]
cmp al, 0xff
je 0x140c232e4
mov dword [rsi + rax*4], r15d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a14c]
cmp al, 0xff
je 0x140c232fc
mov dword [rsi + rax*4], r12d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a14d]
cmp al, 0xff
je 0x140c23314
mov dword [rsi + rax*4], r13d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a14e]
cmp al, 0xff
je 0x140c23334
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a14f]
cmp al, 0xff
je 0x140c23354
mov ecx, dword [rsp + 0x44]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a150]
cmp al, 0xff
je 0x140c23374
mov ecx, dword [rsp + 0x38]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a151]
cmp al, 0xff
je 0x140c23394
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a152]
cmp al, 0xff
je 0x140c233b4
mov ecx, dword [rsp + 0x4c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a153]
cmp al, 0xff
je 0x140c233cf
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
cmp dword [rsp + 0x60], 0x80
jbe 0x140c237cd
movups xmm2, xmmword [rbp - 0x30]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x58]
movdqa xmm0, xmm2
psrldq xmm0, 0xc
movdqa xmm1, xmm2
movd dword [rsp + 0x2c], xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
cmp byte [rax + rcx + 0xd3a124], 0
psrldq xmm1, 8
movd dword [rsp + 0x3c], xmm0
movd dword [rsp + 0x30], xmm1
movd dword [rsp + 0x28], xmm2
je 0x140c23478
mov eax, dword [rsp + 0x3c]
mov edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x30]
mov r9d, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x2c]
shr eax, 0x11
shl edx, 0xf
xor edx, eax
shr r8d, 0x11
mov eax, dword [rsp + 0x3c]
shl eax, 0xf
xor r8d, eax
shr r9d, 0x11
mov eax, dword [rsp + 0x30]
shl eax, 0xf
xor r9d, eax
shl r10d, 0xf
mov eax, dword [rsp + 0x28]
shr eax, 0x11
xor r10d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xd3a125], 0
je 0x140c234d4
mov eax, dword [rsp + 0x3c]
mov r11d, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x30]
mov edi, dword [rsp + 0x2c]
mov r15d, dword [rsp + 0x2c]
shr eax, 2
shl r11d, 0x1e
xor r11d, eax
shr ebx, 2
mov eax, dword [rsp + 0x3c]
shl eax, 0x1e
xor ebx, eax
shr edi, 2
mov eax, dword [rsp + 0x30]
shl eax, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, dword [rsp + 0x28]
shr eax, 2
xor r15d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xd3a126], 0
je 0x140c23538
mov eax, dword [rsp + 0x3c]
mov ecx, dword [rsp + 0x2c]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x30]
shr eax, 0x13
shl r12d, 0xd
xor r12d, eax
shr r13d, 0x13
mov eax, dword [rsp + 0x3c]
shl eax, 0xd
xor r13d, eax
mov eax, ecx
shr eax, 0x13
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x30]
shl eax, 0xd
xor dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x28]
shr eax, 0x13
shl ecx, 0xd
xor ecx, eax
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x44], ecx
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xd3a127], 0
mov rcx, qword [rsp + 0x20]
je 0x140c235a5
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x28]
shl eax, 0x1c
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
shr eax, 4
xor dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x2c]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x28]
mov dword [rsp + 0x4c], ecx
mov ecx, dword [rsp + 0x2c]
shl ecx, 0x1c
shr eax, 4
xor ecx, eax
mov dword [rsp + 0x50], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a154]
cmp al, 0xff
je 0x140c235c5
mov ecx, dword [rsp + 0x28]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a155]
cmp al, 0xff
je 0x140c235e5
mov ecx, dword [rsp + 0x3c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a156]
cmp al, 0xff
je 0x140c23605
mov ecx, dword [rsp + 0x30]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a157]
cmp al, 0xff
je 0x140c23625
mov ecx, dword [rsp + 0x2c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a158]
cmp al, 0xff
je 0x140c2363c
mov dword [rsi + rax*4], edx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a159]
cmp al, 0xff
je 0x140c23654
mov dword [rsi + rax*4], r8d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a15a]
cmp al, 0xff
je 0x140c2366c
mov dword [rsi + rax*4], r9d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a15b]
cmp al, 0xff
je 0x140c23684
mov dword [rsi + rax*4], r10d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a15c]
cmp al, 0xff
je 0x140c2369c
mov dword [rsi + rax*4], r11d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a15d]
cmp al, 0xff
je 0x140c236b3
mov dword [rsi + rax*4], ebx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a15e]
cmp al, 0xff
je 0x140c236ca
mov dword [rsi + rax*4], edi
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a15f]
cmp al, 0xff
je 0x140c236e2
mov dword [rsi + rax*4], r15d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a160]
cmp al, 0xff
je 0x140c236fa
mov dword [rsi + rax*4], r12d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a161]
cmp al, 0xff
je 0x140c23712
mov dword [rsi + rax*4], r13d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a162]
cmp al, 0xff
je 0x140c23732
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a163]
cmp al, 0xff
je 0x140c23752
mov ecx, dword [rsp + 0x44]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a164]
cmp al, 0xff
je 0x140c23772
mov ecx, dword [rsp + 0x38]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a165]
cmp al, 0xff
je 0x140c23792
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a166]
cmp al, 0xff
je 0x140c237b2
mov ecx, dword [rsp + 0x4c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a167]
cmp al, 0xff
je 0x140c237cd
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
movups xmm0, xmmword [rbp - 0x20]
movups xmmword [rsp + 0x70], xmm0
cmp byte [rax + rcx + 0xd3a128], 0
je 0x140c2383a
mov eax, dword [rsp + 0x74]
mov edx, dword [rsp + 0x70]
mov r8d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x7c]
mov r10d, dword [rsp + 0x7c]
shr eax, 0x11
shl edx, 0xf
xor edx, eax
shr r8d, 0x11
mov eax, dword [rsp + 0x74]
shl eax, 0xf
xor r8d, eax
shr r9d, 0x11
mov eax, dword [rsp + 0x78]
shl eax, 0xf
xor r9d, eax
shl r10d, 0xf
mov eax, dword [rsp + 0x70]
shr eax, 0x11
xor r10d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xd3a129], 0
je 0x140c23896
mov eax, dword [rsp + 0x74]
mov r11d, dword [rsp + 0x70]
mov ebx, dword [rsp + 0x78]
mov edi, dword [rsp + 0x7c]
mov r15d, dword [rsp + 0x7c]
shr eax, 2
shl r11d, 0x1e
xor r11d, eax
shr ebx, 2
mov eax, dword [rsp + 0x74]
shl eax, 0x1e
xor ebx, eax
shr edi, 2
mov eax, dword [rsp + 0x78]
shl eax, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, dword [rsp + 0x70]
shr eax, 2
xor r15d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xd3a12a], 0
je 0x140c238fa
mov eax, dword [rsp + 0x74]
mov ecx, dword [rsp + 0x7c]
mov r12d, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x78]
shr eax, 0x13
shl r12d, 0xd
xor r12d, eax
shr r13d, 0x13
mov eax, dword [rsp + 0x74]
shl eax, 0xd
xor r13d, eax
mov eax, ecx
shr eax, 0x13
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x78]
shl eax, 0xd
xor dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x70]
shr eax, 0x13
shl ecx, 0xd
xor ecx, eax
mov rax, qword [rsp + 0x58]
mov dword [rsp + 0x44], ecx
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xd3a12b], 0
mov rcx, qword [rsp + 0x20]
je 0x140c23967
mov ecx, dword [rsp + 0x78]
mov eax, dword [rsp + 0x70]
shl eax, 0x1c
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x74]
shr eax, 4
xor dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x74]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x48], ecx
mov ecx, dword [rsp + 0x7c]
shr ecx, 4
shl eax, 0x1c
xor ecx, eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x4c], ecx
mov ecx, dword [rsp + 0x7c]
shl ecx, 0x1c
shr eax, 4
xor ecx, eax
mov dword [rsp + 0x50], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a168]
cmp al, 0xff
je 0x140c23987
mov ecx, dword [rsp + 0x70]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a169]
cmp al, 0xff
je 0x140c239a7
mov ecx, dword [rsp + 0x74]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a16a]
cmp al, 0xff
je 0x140c239c7
mov ecx, dword [rsp + 0x78]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a16b]
cmp al, 0xff
je 0x140c239e7
mov ecx, dword [rsp + 0x7c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a16c]
cmp al, 0xff
je 0x140c239fe
mov dword [rsi + rax*4], edx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a16d]
cmp al, 0xff
je 0x140c23a16
mov dword [rsi + rax*4], r8d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a16e]
cmp al, 0xff
je 0x140c23a2e
mov dword [rsi + rax*4], r9d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a16f]
cmp al, 0xff
je 0x140c23a46
mov dword [rsi + rax*4], r10d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a170]
cmp al, 0xff
je 0x140c23a5e
mov dword [rsi + rax*4], r11d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a171]
cmp al, 0xff
je 0x140c23a75
mov dword [rsi + rax*4], ebx
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a172]
cmp al, 0xff
je 0x140c23a8c
mov dword [rsi + rax*4], edi
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a173]
cmp al, 0xff
je 0x140c23aa4
mov dword [rsi + rax*4], r15d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a174]
cmp al, 0xff
je 0x140c23abc
mov dword [rsi + rax*4], r12d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a175]
cmp al, 0xff
je 0x140c23ad4
mov dword [rsi + rax*4], r13d
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a176]
cmp al, 0xff
je 0x140c23af4
mov ecx, dword [rsp + 0x34]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a177]
cmp al, 0xff
je 0x140c23b14
mov ecx, dword [rsp + 0x44]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a178]
cmp al, 0xff
je 0x140c23b34
mov ecx, dword [rsp + 0x38]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a179]
cmp al, 0xff
je 0x140c23b54
mov ecx, dword [rsp + 0x48]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a17a]
cmp al, 0xff
je 0x140c23b74
mov ecx, dword [rsp + 0x4c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a17b]
cmp al, 0xff
je 0x140c23b8f
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
cmp dword [rsp + 0x60], 0x80
jbe 0x140c23f20
movups xmm2, xmmword [rbp - 0x10]
lea rcx, [0x140000000]
mov rax, qword [rsp + 0x58]
movdqa xmm0, xmm2
psrldq xmm0, 0xc
movdqa xmm1, xmm2
movd dword [rsp + 0x2c], xmm0
movdqa xmm0, xmm2
psrldq xmm0, 4
cmp byte [rax + rcx + 0xd3a12c], 0
psrldq xmm1, 8
movd dword [rsp + 0x30], xmm0
movd dword [rsp + 0x3c], xmm1
movd dword [rsp + 0x28], xmm2
je 0x140c23c38
mov eax, dword [rsp + 0x30]
mov edx, dword [rsp + 0x28]
mov r8d, dword [rsp + 0x3c]
mov r9d, dword [rsp + 0x2c]
mov r10d, dword [rsp + 0x2c]
shr eax, 0x11
shl edx, 0xf
xor edx, eax
shr r8d, 0x11
mov eax, dword [rsp + 0x30]
shl eax, 0xf
xor r8d, eax
shr r9d, 0x11
mov eax, dword [rsp + 0x3c]
shl eax, 0xf
xor r9d, eax
shl r10d, 0xf
mov eax, dword [rsp + 0x28]
shr eax, 0x11
xor r10d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xd3a12d], 0
je 0x140c23c94
mov eax, dword [rsp + 0x30]
mov r11d, dword [rsp + 0x28]
mov ebx, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x2c]
mov r15d, dword [rsp + 0x2c]
shr eax, 2
shl r11d, 0x1e
xor r11d, eax
shr ebx, 2
mov eax, dword [rsp + 0x30]
shl eax, 0x1e
xor ebx, eax
shr edi, 2
mov eax, dword [rsp + 0x3c]
shl eax, 0x1e
xor edi, eax
shl r15d, 0x1e
mov eax, dword [rsp + 0x28]
shr eax, 2
xor r15d, eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xd3a12e], 0
je 0x140c23cfc
mov eax, dword [rsp + 0x30]
mov r12d, dword [rsp + 0x28]
mov r13d, dword [rsp + 0x3c]
shr eax, 0x13
shl r12d, 0xd
xor r12d, eax
shr r13d, 0x13
mov eax, dword [rsp + 0x30]
shl eax, 0xd
xor r13d, eax
mov eax, dword [rsp + 0x2c]
shr eax, 0x13
mov dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x3c]
shl eax, 0xd
xor dword [rsp + 0x34], eax
mov eax, dword [rsp + 0x2c]
shl eax, 0xd
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0x28]
shr eax, 0x13
xor dword [rsp + 0x44], eax
mov rax, qword [rsp + 0x58]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0xd3a12f], 0
mov rcx, qword [rsp + 0x20]
je 0x140c23d6a
mov eax, dword [rsp + 0x28]
shl eax, 0x1c
mov dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x30]
shr eax, 4
xor dword [rsp + 0x38], eax
mov eax, dword [rsp + 0x3c]
shr eax, 4
mov dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x30]
shl eax, 0x1c
xor dword [rsp + 0x48], eax
mov eax, dword [rsp + 0x2c]
shr eax, 4
mov dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x3c]
shl eax, 0x1c
xor dword [rsp + 0x4c], eax
mov eax, dword [rsp + 0x2c]
shl eax, 0x1c
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x28]
shr eax, 4
xor dword [rsp + 0x50], eax
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a17c]
cmp al, 0xff
je 0x140c23d8a
mov ecx, dword [rsp + 0x28]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a17d]
cmp al, 0xff
je 0x140c23daa
mov ecx, dword [rsp + 0x30]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a17e]
cmp al, 0xff
je 0x140c23dca
mov ecx, dword [rsp + 0x3c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a17f]
cmp al, 0xff
je 0x140c23dea
mov ecx, dword [rsp + 0x2c]
mov dword [rsi + rax*4], ecx
mov rcx, qword [rsp + 0x20]
lea rax, [0x140000000]
movsx rax, byte [rax + rcx + 0xd3a180]
cmp al, 0xff
je 0x140c23e01
mov dword [rsi + rax*4], edx
lea rdx, [0x140000000]
movsx rax, byte [rdx + rcx + 0xd3a181]
cmp al, 0xff
je 0x140c23e19
mov dword [rsi + rax*4], r8d
movsx rax, byte [rdx + rcx + 0xd3a182]
cmp al, 0xff
je 0x140c23e2a
mov dword [rsi + rax*4], r9d
lea r9, [0x140000000]
movsx rax, byte [r9 + rcx + 0xd3a183]
cmp al, 0xff
je 0x140c23e42
mov dword [rsi + rax*4], r10d
movsx rax, byte [r9 + rcx + 0xd3a184]
cmp al, 0xff
je 0x140c23e53
mov dword [rsi + rax*4], r11d
movsx rax, byte [r9 + rcx + 0xd3a185]
cmp al, 0xff
je 0x140c23e63
mov dword [rsi + rax*4], ebx
movsx rax, byte [r9 + rcx + 0xd3a186]
cmp al, 0xff
je 0x140c23e73
mov dword [rsi + rax*4], edi
movsx rax, byte [r9 + rcx + 0xd3a187]
cmp al, 0xff
je 0x140c23e84
mov dword [rsi + rax*4], r15d
movsx rax, byte [r9 + rcx + 0xd3a188]
cmp al, 0xff
je 0x140c23e95
mov dword [rsi + rax*4], r12d
movsx rax, byte [r9 + rcx + 0xd3a189]
cmp al, 0xff
je 0x140c23ea6
mov dword [rsi + rax*4], r13d
movsx rax, byte [r9 + rcx + 0xd3a18a]
cmp al, 0xff
je 0x140c23eba
mov edx, dword [rsp + 0x34]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xd3a18b]
cmp al, 0xff
je 0x140c23ece
mov edx, dword [rsp + 0x44]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xd3a18c]
cmp al, 0xff
je 0x140c23ee2
mov edx, dword [rsp + 0x38]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xd3a18d]
cmp al, 0xff
je 0x140c23ef6
mov edx, dword [rsp + 0x48]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xd3a18e]
cmp al, 0xff
je 0x140c23f0a
mov edx, dword [rsp + 0x4c]
mov dword [rsi + rax*4], edx
movsx rax, byte [r9 + rcx + 0xd3a18f]
cmp al, 0xff
je 0x140c23f27
mov ecx, dword [rsp + 0x50]
mov dword [rsi + rax*4], ecx
jmp 0x140c23f27
lea r9, [0x140000000]
mov r13, qword [rsp + 0x190]
mov r12, qword [rsp + 0x188]
mov eax, r14d
lea rax, [rax + rax*4]
lea r8, [rax*4]
movsx rax, byte [r8 + r9 + 0xd3a1e0]
cmp al, 0xff
je 0x140c23f64
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x80], eax
movsx rax, byte [r9 + r8 + 0xd3a1e1]
cmp al, 0xff
je 0x140c23f82
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x84], eax
movsx rax, byte [r9 + r8 + 0xd3a1e2]
cmp al, 0xff
je 0x140c23fa0
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x88], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1e3]
cmp al, 0xff
je 0x140c23fc5
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x8c], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1e4]
cmp al, 0xff
je 0x140c23fea
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x90], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1e5]
cmp al, 0xff
je 0x140c2400f
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x94], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1e6]
cmp al, 0xff
je 0x140c24034
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x98], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1e7]
cmp al, 0xff
je 0x140c24059
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0x9c], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1e8]
cmp al, 0xff
je 0x140c2407e
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xa0], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1e9]
cmp al, 0xff
je 0x140c240a3
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xa4], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1ea]
cmp al, 0xff
je 0x140c240c8
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xa8], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1eb]
cmp al, 0xff
je 0x140c240ed
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xac], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1ec]
cmp al, 0xff
je 0x140c24112
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xb0], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1ed]
cmp al, 0xff
je 0x140c24137
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xb4], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1ee]
cmp al, 0xff
je 0x140c2415c
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xb8], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1ef]
cmp al, 0xff
je 0x140c24181
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xbc], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1f0]
cmp al, 0xff
je 0x140c241a6
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xc0], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1f1]
cmp al, 0xff
je 0x140c241cb
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xc4], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1f2]
cmp al, 0xff
je 0x140c241f0
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xc8], eax
mov eax, r14d
lea rcx, [rax + rax*4]
movsx rax, byte [r9 + rcx*4 + 0xd3a1f3]
cmp al, 0xff
je 0x140c24215
mov eax, dword [rsi + rax*4]
lea ecx, [r14 + r14*2]
shl ecx, 2
mov dword [rsi + rcx*4 + 0xcc], eax
xor eax, eax
mov rcx, qword [rbp + 0x40]
xor rcx, rsp
call fcn.140c4bf60
mov rbx, qword [rsp + 0x198]
add rsp, 0x150
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret