Function at 0x14031fbe0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x3c8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x340], 0xfffffffffffffffe
cmp byte [rcx], 0
jne 0x140320f56
mov bl, dl
mov rdi, rcx
mov ecx, 0x96f022c6
mov edx, 0xcc6a9e1
mov r8d, 0xdea495f4
call fcn.140326660
lea rsi, [rbp - 0x40]
mov rcx, rsi
mov rdx, rax
call fcn.140314140
mov rcx, rsi
call fcn.14032faa0
lea rcx, [rbp - 0x40]
call fcn.14032fb70
test al, al
jne 0x14031fc71
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3f2
mov rax, rsi
call qword [case.0x1401138cb.0]
call fcn.1403316e0
lea rcx, [rbp + 0x168]
mov rdx, rax
call fcn.140314140
mov r14, qword [0x140514d78]
xor eax, eax
nop
test al, al
jne 0x14031fc9f
mov ecx, dword [0x14053426c]
cmp ecx, 0x1f
jle 0x14031fcac
mov ecx, dword [0x14053426c]
cmp ecx, 0x17
jge 0x14031fc90
jmp 0x14031fc94
mov byte [rbp + 0x330], bl
mov qword [rbp + 0x338], rdi
mov eax, dword [0x14053426c]
cmp eax, 0x48
jg 0x14031fce6
movsxd r13, dword [r14]
mov ecx, dword [0x140534268]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, 0xa4375156
add ecx, dword [0x140515218]
xor edx, edx
div ecx
test edx, edx
je 0x14031fceb
mov eax, dword [r14]
jmp 0x14031fcc4
sub r14, qword [0x140515210]
mov r12d, dword [0x140422c30]
lea rcx, [rbp + 0x168]
call fcn.14032faa0
lea rcx, [rbp + 0x168]
call fcn.14032fb70
test al, al
jne 0x14031fd39
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3f3
mov rax, rsi
call qword [case.0x1401138cb.0]
call fcn.1403316e0
movabs rcx, 0xe8b1be3ea87766a3
mov rdx, qword [0x140515210]
add rdx, rcx
xor ecx, ecx
mov edi, 0
cmp qword [rbp + 0x178], rdx
je 0x14031fd69
mov rdi, qword [rbp + 0x170]
mov esi, dword [rax + 0xc]
mov eax, 0
cmp qword [rbp - 0x30], rdx
mov r8, qword [rbp + 0x338]
je 0x14031fd82
mov rax, qword [rbp - 0x38]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [r8 + 0x5c], xmm1
movups xmmword [r8 + 0x4c], xmm0
lea rbx, [r8 + 0x70]
movsxd rdx, esi
mov rax, qword [r8 + 0x80]
sub rcx, qword [r8 + 0x70]
mov r8, rax
xor r8, rcx
and rcx, rax
lea rax, [r8 + rcx*2]
mov ecx, dword [0x140515210]
mov r8d, ecx
xor r8d, 0x58
and r8d, ecx
xor ecx, 0xa7
lea ecx, [rcx + r8*2]
sar rax, cl
cmp rax, rdx
jae 0x14031fde4
test esi, esi
js 0x140320e81
mov rcx, rbx
call fcn.140323620
test esi, esi
jle 0x14031fe28
xor r15d, r15d
jmp 0x14031fe07
movups xmm0, xmmword [rdi]
movups xmmword [rdx], xmm0
add qword [rax + 0x78], 0x10
inc r15d
add rdi, 0x10
cmp r15d, esi
je 0x14031fe28
mov rax, qword [rbp + 0x338]
mov rdx, qword [rax + 0x78]
cmp rdx, qword [rax + 0x80]
jne 0x14031fdf0
mov rcx, rbx
mov r8, rdi
call fcn.140323790
jmp 0x14031fdfb
lea rcx, [rbp + 0x1ac]
call fcn.14029a540
lea rcx, [rbp + 0x168]
call fcn.140073e00
lea rcx, [rbp + 4]
call fcn.14029a540
lea rcx, [rbp - 0x40]
call fcn.140073e00
cmp byte [rbp + 0x330], 0
je 0x140320018
mov ecx, 0x6488ec31
mov edx, 0x6ddc37e3
mov r8d, 0x71737485
call fcn.140326530
lea rsi, [rbp - 0x40]
mov rcx, rsi
mov rdx, rax
call fcn.140314140
mov rcx, rsi
call fcn.14032faa0
lea rcx, [rbp - 0x40]
call fcn.14032fb70
test al, al
jne 0x14031febc
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3f4
mov rax, rsi
call qword [case.0x1401138cb.0]
call fcn.140331790
lea rcx, [rbp + 0x168]
mov rdx, rax
call fcn.140314140
lea rcx, [rbp + 0x168]
call fcn.14032faa0
lea rcx, [rbp + 0x168]
call fcn.14032fb70
test al, al
jne 0x14031ff10
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3f5
mov rax, rsi
call qword [case.0x1401138cb.0]
call fcn.140331790
mov rcx, qword [0x140515210]
movabs rdx, 0xe8b1be3ea87766a3
add rcx, rdx
cmp qword [rbp + 0x178], rcx
je 0x14031ff3b
mov rdi, qword [rbp + 0x170]
jmp 0x14031ff3d
xor edi, edi
mov rcx, qword [rbp + 0x338]
mov esi, dword [rax + 0xc]
mov rax, qword [rbp - 0x30]
test rax, rax
je 0x14031ff54
mov rax, qword [rbp - 0x38]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x9c], xmm1
movups xmmword [rcx + 0x8c], xmm0
lea rbx, [rcx + 0xb0]
movsxd rdx, esi
mov rax, qword [rcx + 0xc0]
sub rax, qword [rcx + 0xb0]
sar rax, 4
cmp rax, rdx
jae 0x14031ff9a
test esi, esi
js 0x140320e8b
mov rcx, rbx
call fcn.140323620
test esi, esi
jle 0x14031ffee
xor r15d, r15d
jmp 0x14031ffca
movups xmm0, xmmword [rdi]
movups xmmword [rdx], xmm0
add qword [rax + 0xb8], 0x10
inc r15d
add rdi, 0x10
cmp r15d, esi
je 0x14031ffee
mov rax, qword [rbp + 0x338]
mov rdx, qword [rax + 0xb8]
cmp rdx, qword [rax + 0xc0]
jne 0x14031ffb0
mov rcx, rbx
mov r8, rdi
call fcn.140323790
jmp 0x14031ffbe
lea rcx, [rbp + 0x1ac]
call fcn.14029a540
lea rcx, [rbp + 0x168]
call fcn.140073e00
lea rcx, [rbp + 4]
call fcn.14029a540
lea rcx, [rbp - 0x40]
call fcn.140073e00
mov ecx, 0xd0b14922
mov edx, 0xf5de9463
mov r8d, 0x3bdfb149
call fcn.140326730
lea rsi, [rbp - 0x40]
mov rcx, rsi
mov rdx, rax
call fcn.140314140
mov rcx, rsi
call fcn.14032faa0
lea rcx, [rbp - 0x40]
call fcn.14032fb70
test al, al
jne 0x140320075
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3f6
mov rax, rsi
call qword [case.0x1401138cb.0]
call fcn.140331620
lea rcx, [rbp + 0x168]
mov rdx, rax
call fcn.140314140
lea rcx, [rbp + 0x168]
call fcn.14032faa0
lea rcx, [rbp + 0x168]
call fcn.14032fb70
test al, al
jne 0x1403200c9
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3f7
mov rax, rsi
call qword [case.0x1401138cb.0]
call fcn.140331620
mov rdi, qword [rbp + 0x178]
test rdi, rdi
je 0x1403200e1
mov rdi, qword [rbp + 0x170]
mov esi, dword [rax + 0xc]
mov rax, qword [rbp - 0x30]
test rax, rax
mov rcx, qword [rbp + 0x338]
je 0x1403200f8
mov rax, qword [rbp - 0x38]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x1c], xmm1
movups xmmword [rcx + 0xc], xmm0
lea rbx, [rcx + 0x30]
mov rax, qword [rcx + 0x40]
sub rax, qword [rcx + 0x30]
movsxd rdx, esi
mov ecx, dword [0x140515210]
mov r8d, ecx
xor r8d, 0x36
and ecx, 0x36
lea ecx, [r8 + rcx*2]
add cl, 0x71
sar rax, cl
cmp rax, rdx
jae 0x14032015b
mov eax, dword [0x140515218]
mov ecx, eax
xor ecx, 0xa4375154
and eax, 0x24375154
lea eax, [rcx + rax*2]
cmp esi, eax
jl 0x140320e86
mov rcx, rbx
call fcn.140323620
test esi, esi
jle 0x1403201a5
xor r15d, r15d
jmp 0x140320187
movups xmm0, xmmword [rdi]
movups xmmword [rdx], xmm0
add qword [rax + 0x38], 0x10
inc r15d
add rdi, 0x10
cmp r15d, esi
je 0x1403201a5
mov rax, qword [rbp + 0x338]
mov rdx, qword [rax + 0x38]
cmp rdx, qword [rax + 0x40]
jne 0x140320170
mov rcx, rbx
mov r8, rdi
call fcn.140323790
jmp 0x14032017b
mov eax, dword [0x140514d70]
lea edx, [rax + 1]
mov dword [0x140514d70], edx
mov ecx, eax
xor ecx, edx
or edx, eax
not edx
or edx, ecx
xor ebx, ebx
xor edx, 0xffffffff
mov dword [rbp + 0x31c], edx
mov r15d, 0
jne 0x1403201f2
mov ecx, 0xa4375154
add ecx, dword [0x140515218]
xor eax, eax
mov ebx, 0
mov r15d, 0
cmp ecx, r12d
jl 0x140320d2c
lea rcx, [rbp + 0x1ac]
nop dword [rax]
mov eax, dword [0x14053426c]
cmp eax, 0x1e
jl 0x14032021d
nop dword [rax + rax]
mov eax, dword [0x14053426c]
cmp eax, 0x32
jge 0x140320210
jmp 0x140320200
call fcn.14029a540
lea rcx, [rbp + 0x168]
call fcn.140073e00
lea rcx, [rbp + 4]
call fcn.14029a540
lea rcx, [rbp - 0x40]
call fcn.140073e00
mov rcx, qword [rbp + 0x338]
lea rdi, [rcx + 0x4f0]
mov rax, qword [rcx + 0x500]
sub rax, qword [rcx + 0x4f0]
sar rax, 3
movabs rsi, 0xcccccccccccccccd
imul rax, rsi
cmp rax, 0x1f
ja 0x140320281
mov edx, 0x20
mov rcx, rdi
call fcn.1403239b0
mov rcx, qword [rbp + 0x338]
mov rax, qword [rcx + 0x518]
sub rax, qword [rcx + 0x508]
lea r14, [rcx + 0x508]
sar rax, 3
imul rax, rsi
cmp rax, 0x1f
ja 0x1403202b8
mov edx, 0x20
mov rcx, r14
call fcn.1403239b0
mov rcx, qword [rbp + 0x338]
mov rax, qword [rcx + 0x560]
sub rax, qword [rcx + 0x550]
lea r12, [rcx + 0x550]
sar rax, 3
imul rax, rsi
mov rcx, qword [0x140515210]
movabs rdx, 0xe2584dec0e8c582b
xor rdx, rcx
movabs r8, 0x62584dec0e8c582b
and r8, rcx
lea rcx, [rdx + r8*2]
movabs rdx, 0x659705299eb0e98
add rdx, rcx
cmp rax, rdx
jae 0x140320320
mov edx, 0x20
mov rcx, r12
call fcn.1403239b0
mov rcx, qword [rbp + 0x338]
mov rax, qword [rcx + 0x578]
sub rax, qword [rcx + 0x568]
lea r13, [rcx + 0x568]
movabs rcx, 0x8af6d1e86ee6c10
add rcx, rax
mov rax, rcx
movabs rdx, 0x775092e1791193f0
xor rdx, rcx
not rcx
movabs r8, 0xf75092e1791193f0
and r8, rcx
movabs r9, 0x8af6d1e86ee6c0f
and rax, r9
or rax, r8
and rcx, r9
or rcx, rdx
not rcx
lea rax, [rax + rcx*2]
sar rax, 3
imul rax, rsi
cmp rax, 0x1f
ja 0x1403203a1
mov edx, 0x20
mov rcx, r13
call fcn.1403239b0
mov rdx, qword [rbp + 0x338]
lea rax, [rdx + 0x580]
mov qword [rbp + 0x320], rax
mov rax, qword [0x1405316a0]
mov rcx, qword [0x140515210]
add rax, qword [rdx + 0x590]
add rax, rcx
sub rax, qword [rdx + 0x580]
movabs rdx, 0xe8b1be3ea87766a3
add rax, rdx
sar rax, 3
imul rax, rsi
movabs rdx, 0xe8b1be3ea87766c3
add rcx, rdx
cmp rax, rcx
jae 0x14032040f
add rdx, qword [0x140515210]
mov rcx, qword [rbp + 0x320]
call fcn.1403239b0
mov qword [rbp + 0x310], rbx
mov rcx, qword [rbp + 0x338]
mov rax, qword [rcx + 0x5a8]
sub rax, qword [rcx + 0x598]
add rcx, 0x598
mov qword [rbp + 0x328], rcx
sar rax, 3
imul rax, rsi
cmp rax, 0x1f
ja 0x140320458
mov edx, 0x20
mov rcx, qword [rbp + 0x328]
call fcn.1403239b0
mov ecx, 0x9359d24b
mov edx, 0xbcb327de
mov r8d, 0x4c7adec9
call fcn.140326750
mov ecx, dword [0x140515218]
lea r8d, [rcx - 0x615ce889]
mov edx, ecx
xor edx, 0x4aeeb9a2
mov r9d, ecx
and r9d, 0x4aeeb9a2
lea r9d, [rdx + r9*2]
add ecx, 0x7a579189
mov dword [rsp + 0x20], ecx
mov rcx, rdi
mov rdx, rax
call fcn.1403266f0
test al, al
jne 0x1403204cd
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3f8
mov rax, rsi
call qword [case.0x1401138cb.0]
mov ecx, 0x3a6d6c65
mov edx, 0x43fae97f
mov r8d, 0xbf0627cd
call fcn.140326880
mov dword [rsp + 0x20], 0xd6204035
mov rcx, r12
mov rdx, rax
mov r8d, 0xfa6bc623
mov r9d, 0xa6b7684e
call fcn.1403266f0
test al, al
jne 0x14032052f
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov edx, 0xa437554d
add edx, dword [0x140515218]
mov rcx, rax
mov rax, rsi
call qword [case.0x1401138cb.0]
cmp byte [rbp + 0x330], 0
je 0x1403205a0
mov r8d, dword [0x140515218]
lea ecx, [r8 + 0x705ab499]
lea edx, [r8 + 0x7108fd28]
add r8d, 0x87dc1ca0
call fcn.140326700
mov dword [rsp + 0x20], 0xd6204035
mov rcx, rdi
mov rdx, rax
mov r8d, 0xfa6bc623
mov r9d, 0xa6b7684e
call fcn.1403266f0
test al, al
jne 0x1403205a0
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3fa
mov rax, rsi
call qword [case.0x1401138cb.0]
mov ecx, 0xdf6e623b
mov edx, 0xfa9ae66a
mov r8d, 0xfe48c73f
call fcn.1403266e0
mov ecx, dword [0x140515218]
lea r8d, [rcx - 0x615ce889]
lea r9d, [rcx + 0x4aeeb9a2]
add ecx, 0x7a579189
mov dword [rsp + 0x20], ecx
mov rcx, r14
mov rdx, rax
call fcn.1403266f0
test al, al
jne 0x140320606
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3fb
mov rax, rsi
call qword [case.0x1401138cb.0]
mov ecx, 0x63f4e7ca
mov edx, 0x53252b84
mov r8d, 0x6642213d
call fcn.140326720
mov ecx, dword [0x140515218]
lea r8d, [rcx - 0x615ce889]
lea r9d, [rcx + 0x4aeeb9a2]
add ecx, 0x7a579189
mov dword [rsp + 0x20], ecx
mov rcx, r13
mov rdx, rax
call fcn.1403266f0
test al, al
jne 0x14032066c
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3fc
mov rax, rsi
call qword [case.0x1401138cb.0]
mov ecx, 0xbcb327de
mov edx, 0x6aa2f3ca
mov r8d, 0x6d274bf8
call fcn.140326870
mov dword [rsp + 0x20], 0xd6204035
mov rcx, qword [rbp + 0x320]
mov rdx, rax
mov r8d, 0xfa6bc623
mov r9d, 0xa6b7684e
call fcn.1403266f0
test al, al
jne 0x1403206cc
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3fd
mov rax, rsi
call qword [case.0x1401138cb.0]
mov qword [rbp + 0x330], r12
mov rbx, r14
mov ecx, 0x8758d6fe
mov edx, 0xa77bcf94
mov r8d, 0x6724aee7
call fcn.140326790
mov dword [rsp + 0x20], 0xd6204035
mov rcx, qword [rbp + 0x328]
mov rdx, rax
mov r8d, 0xfa6bc623
mov r9d, 0xa6b7684e
call fcn.1403266f0
test al, al
jne 0x140320736
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3fe
mov rax, rsi
call qword [case.0x1401138cb.0]
mov r12, r13
mov ecx, 0xb2922b14
mov edx, 0xe8553038
mov r8d, 0x2d62960c
call fcn.140326760
mov rcx, qword [rbp + 0x338]
lea r14, [rcx + 0x520]
mov dword [rsp + 0x20], 0xd6204035
mov rcx, r14
mov rdx, rax
mov r8d, 0xfa6bc623
mov r9d, 0xa6b7684e
call fcn.1403266f0
test al, al
jne 0x1403207a3
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x3ff
mov rax, rsi
call qword [case.0x1401138cb.0]
mov r8d, dword [0x140515218]
lea ecx, [r8 - 0x6c3e84b6]
lea edx, [r8 + 0x206f7e18]
add r8d, 0xff2c4931
call fcn.140326510
mov rcx, qword [rbp + 0x338]
lea r13, [rcx + 0x538]
mov ecx, dword [0x140515218]
lea r8d, [rcx - 0x615ce889]
lea r9d, [rcx + 0x4aeeb9a2]
add ecx, 0x7a579189
mov dword [rsp + 0x20], ecx
mov rcx, r13
mov rdx, rax
call fcn.1403266f0
test al, al
jne 0x140320823
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x400
mov rax, rsi
call qword [case.0x1401138cb.0]
mov rcx, rdi
call fcn.140321480
mov rsi, qword [rbp + 0x338]
mov rcx, qword [rsi + 0x4f0]
mov rdx, qword [rsi + 0x4f8]
mov r8, rdx
sub r8, rcx
sar r8, 3
movabs rdi, 0xcccccccccccccccd
imul r8, rdi
call fcn.140324140
mov rcx, rbx
call fcn.140321480
mov rcx, qword [rsi + 0x508]
mov rdx, qword [rsi + 0x510]
mov r8, rdx
sub r8, rcx
sar r8, 3
imul r8, rdi
call fcn.140324140
mov rcx, qword [rbp + 0x330]
call fcn.140321480
mov rcx, qword [rsi + 0x550]
mov rdx, qword [rsi + 0x558]
movabs rax, 0x29e4ee26b5ec9849
mov r8, rdx
xor r8, rax
and rax, rdx
lea rax, [r8 + rax*2]
sub rax, rcx
movabs r8, 0xd61b11d94a1367b7
xor r8, rax
movabs r9, 0x561b11d94a1367b7
and r9, rax
lea r8, [r8 + r9*2]
sar r8, 3
imul r8, rdi
call fcn.140324140
mov rcx, r12
call fcn.140321480
mov rcx, qword [rsi + 0x568]
mov rdx, qword [rsi + 0x570]
mov r8, rdx
sub r8, rcx
sar r8, 3
imul r8, rdi
call fcn.140324140
mov rcx, qword [rbp + 0x320]
call fcn.140321480
mov rcx, qword [rsi + 0x580]
mov rdx, qword [rsi + 0x588]
mov rax, rdx
neg rax
mov r8, rax
xor r8, rcx
and rax, rcx
lea r8, [r8 + rax*2]
neg r8
sar r8, 3
imul r8, rdi
call fcn.140324140
mov rcx, qword [rbp + 0x328]
call fcn.140321480
mov rcx, qword [rsi + 0x598]
mov rdx, qword [rsi + 0x5a0]
mov r8, rdx
sub r8, rcx
sar r8, 3
imul r8, rdi
call fcn.140324140
mov rcx, r14
call fcn.140321480
mov rcx, qword [rsi + 0x520]
mov rdx, qword [rsi + 0x528]
mov r8, rdx
sub r8, rcx
sar r8, 3
imul r8, rdi
call fcn.140324140
mov rcx, r13
call fcn.140321480
mov rcx, qword [rsi + 0x538]
mov rdx, qword [rsi + 0x540]
mov r8, rdx
sub r8, rcx
sar r8, 3
imul r8, rdi
call fcn.140324140
mov ecx, 0x7b63bc1d
mov edx, 0x3942acd4
mov r8d, 0x4202f317
call fcn.140326520
lea rsi, [rbp - 0x40]
mov rcx, rsi
mov rdx, rax
call fcn.140314140
mov rcx, rsi
call fcn.14032faa0
lea rcx, [rbp - 0x40]
call fcn.14032fb70
test al, al
jne 0x140320a27
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x401
mov rax, rsi
call qword [case.0x1401138cb.0]
call fcn.140330ea0
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x140320a39
mov rdi, qword [rbp - 0x38]
mov r12d, dword [rax + 0xc]
mov rax, qword [rbp + 0x338]
lea r14, [rax + 0x5b0]
xor ebx, ebx
jmp 0x140320a8e
call fcn.1400a6550
mov rcx, rdi
mov edx, 0x8c7f2806
mov r8d, 0xb2922b14
call fcn.1400a9690
mov rcx, qword [0x140515210]
movabs rdx, 0xe8b1be3ea87766a4
add rcx, rdx
mov rdx, rax
xor rdx, rcx
and rcx, rax
lea rax, [rdx + rcx*2]
add rdi, rax
inc ebx
cmp ebx, r12d
jge 0x140320c28
test rdi, rdi
mov r13, rdi
lea rax, [0x1403ff2a8]
cmove r13, rax
mov rax, qword [0x140515210]
mov rcx, rax
movabs rdx, 0xe8b1be3ea87766a3
xor rcx, rdx
movabs rdx, 0x68b1be3ea87766a3
and rax, rdx
lea rax, [rcx + rax*2]
mov qword [rbp + 0x180], rax
mov qword [rbp + 0x188], 0xf
mov byte [rbp + 0x170], 0
mov r8d, dword [0x140515218]
lea edx, [r8 + 0x30b6795a]
add r8d, 0x56c97c68
mov rcx, r13
call fcn.1400a9690
mov rsi, rax
cmp rax, 0xf
jbe 0x140320b30
lea rcx, [rbp + 0x170]
mov rdx, rsi
mov r9, r13
call fcn.140087e80
jmp 0x140320b51
mov qword [rbp + 0x180], rsi
lea rcx, [rbp + 0x170]
mov rdx, r13
mov r8, rsi
call fcn.1403e3a10
mov byte [rbp + rsi + 0x170], 0
lea rax, [0x1403fe9c8]
mov qword [rbp + 0x168], rax
mov rcx, r14
lea rdx, [rbp - 0x50]
lea r8, [rbp + 0x168]
call fcn.140100930
mov r8, qword [rbp + 0x188]
cmp r8, 0x10
jb 0x140320a55
mov rcx, qword [rbp + 0x170]
lea rdx, [r8 + 1]
mov rax, qword [0x140515210]
movabs r9, 0xe8b1be3ea87776a2
add rax, r9
cmp rdx, rax
jbe 0x140320a50
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x140320e7c
mov rcx, r8
movabs rdx, 0xf15eace4c45b50e9
xor rcx, rdx
movabs rdx, 0x715eace4c45b50e9
and r8, rdx
lea rcx, [rcx + r8*2]
mov rdx, rcx
movabs r8, 0x40f5d3668c37d5db
xor rdx, r8
and rcx, r8
lea rcx, [rdx + rcx*2]
movabs rdx, 0x3c2a8dfcc3671895
add rcx, rdx
mov rdx, rcx
xor rdx, 0x28
and ecx, 0x28
lea rdx, [rdx + rcx*2]
movabs rcx, 0x9180f1b7ec05c0a7
add rdx, rcx
mov rcx, rax
jmp 0x140320a50
lea rcx, [rbp + 4]
call fcn.14029a540
lea rcx, [rbp - 0x40]
call fcn.140073e00
mov ecx, 0xa6a035e9
mov edx, 0x12517195
mov r8d, 0x18333623
call fcn.140326710
mov edx, 0xa4375154
movabs rcx, 0xfeb97a67281fae
mov ebx, dword [rbp + 0x31c]
nop word cs:[rax + rax]
mov r8d, dword [0x140534268]
lea r9d, [r8 - 1]
imul r9d, r8d
and r9d, 1
mov r8d, dword [0x140515218]
add r8d, edx
cmp r9d, r8d
jne 0x140320cc4
xor esi, esi
test ebx, ebx
setne r10b
mov r9, qword [0x140422c40]
mov r8, qword [0x140422c38]
mov r11d, dword [0x140534268]
mov edi, dword [0x140515218]
not edi
add edi, r11d
imul edi, r11d
test dil, 1
je 0x140320ce1
mov r8, qword [0x140422c40]
mov r8, qword [0x140422c38]
mov r8d, dword [0x14053426c]
cmp r8d, 0xf
jge 0x140320c70
jmp 0x140320c92
mov sil, r10b
or rsi, rcx
xor r11d, r11d
movabs r10, 0xff01468598d7e051
add r10, rsi
adc r11, 0xffffffffffffffff
sub r8, qword [rbp + 0x310]
sbb r9, r15
mov rcx, r10
not rcx
mov rdx, r11
not rdx
mov esi, dword [0x140534268]
lea edi, [rsi - 1]
imul edi, esi
test dil, 1
jne 0x140320e96
jmp 0x140320e90
movabs rcx, 0x174e41c15788995d
add r13, rcx
add r14, r13
lea rcx, [fcn.14031fbe0]
lea r8d, [rcx + rcx]
add r8d, 0x1a00
not r8d
mov edx, r8d
and edx, 0xfffffffe
xor edx, r8d
xor r8d, r8d
xor r9d, r9d
mov r10d, dword [0x14053426c]
nop word [rax + rax]
movsxd r11, eax
add r11, qword [0x1405315e8]
mov r10d, dword [0x140534268]
lea esi, [r10 - 1]
imul esi, r10d
test sil, 1
jne 0x140320d70
add r11, r14
mov r10, qword [r11]
mov r11, qword [r11 + 8]
cmp edx, 1
jne 0x140320e50
nop word cs:[rax + rax]
mov esi, dword [0x14053426c]
cmp esi, 0x35
jge 0x140320e50
mov rsi, r8
not rsi
mov rdi, r9
not rdi
lea ebx, [rcx + rcx]
add ebx, 0x4ce0
mov r15d, ebx
not r15d
test r15d, ebx
mov ebx, dword [0x14053426c]
mov r15d, dword [0x140515218]
mov r13d, r15d
xor r13d, 0x2f0966d6
and r15d, 0x2f0966d6
lea r15d, [r13 + r15*2 + 0x752deaac]
cmp ebx, r15d
jge 0x140320ddd
mov r15, r9
xor r15, r11
xor r11, rdi
mov rbx, r8
xor rbx, r10
xor r10, rsi
not r10
not r11
and r11, rdi
and r10, rsi
and r15, r9
or r15, r11
and rbx, r8
or rbx, r10
add eax, 0x10
mov r8, rbx
mov r9, r15
cmp eax, r12d
jl 0x140320d60
jmp 0x1403201f2
mov esi, dword [0x14053426c]
mov edi, dword [0x140515218]
mov ebx, edi
xor ebx, 0x9f584ce5
and edi, 0x1f584ce5
lea edi, [rbx + rdi*2]
add edi, 0x4df04a1
cmp esi, edi
jge 0x140320e50
jmp 0x140320db0
call fcn.14039c09c
call fcn.1403235e0
call fcn.1403235e0
call fcn.1403235e0
mov bl, 1
test bl, bl
jne 0x140320ea6
mov bl, 1
nop dword [rax + rax]
test bl, bl
je 0x140320ea0
jmp 0x140320e90
xor r10, r8
xor r11, r9
not r9
and rdx, r9
xor rdx, r11
not r8
and rcx, r8
xor rcx, r10
not rcx
not rdx
mov r8d, dword [0x14053426c]
cmp r8d, 0xe
mov rbx, qword [rbp + 0x338]
jle 0x140320f6c
jmp 0x140320f79
lea rcx, [rbp - 0x40]
call fcn.14032fb70
test al, al
jne 0x140320f12
mov rax, qword [0x1405341e0]
mov rsi, qword [rax + 0x2e0]
call fcn.1401071a0
mov rcx, rax
mov edx, 0x402
mov rax, rsi
call qword [case.0x1401138cb.0]
mov rdi, qword [rbp - 0x30]
test rdi, rdi
je 0x140320f1f
mov rdi, qword [rbp - 0x38]
lea rcx, [rbx + 0x5c0]
mov rdx, rdi
call fcn.140242920
lea rcx, [rbx + 0x5e8]
add rdi, 0x38
mov rdx, rdi
call fcn.140242920
lea rcx, [rbp + 4]
call fcn.14029a540
lea rcx, [rbp - 0x40]
call fcn.140073e00
mov byte [rbx], 1
mov al, 1
add rsp, 0x3c8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov r8d, dword [0x14053426c]
cmp r8d, 0x57
jl 0x140320faa
mov r8d, 0xa4375155
lea r9, [fcn.14031fbe0]
add r9d, r9d
add r9d, 0x2fe0
mov r10d, dword [0x140515218]
add r10d, r8d
mov r11d, r9d
xor r11d, r10d
not r11d
test r11d, r10d
jne 0x140320f90
jmp 0x140320f6c
mov r8, rcx
xor r8, rdx
not r8
and r8, rdx
mov r9d, dword [0x140534268]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
jne 0x140320fe0
mov r9d, dword [0x140534268]
lea r10d, [r9 + 1]
imul r10d, r9d
test r10b, 1
je 0x140320fef
mov r9d, dword [0x14053426c]
cmp r9d, 0x3c
jge 0x140320fe0
jmp 0x140320fcb
mov r9, rcx
not r9
mov r10, rdx
not r10
mov r11, r9
xor r11, rdx
mov rsi, rcx
and rsi, r10
or rsi, r11
not rsi
xor r10, rcx
and r9, rdx
or r9, r10
not r9
or r9, rsi
or r8, r9
mov rcx, qword [0x1405316a0]
xor rcx, r8
mov rdx, rcx
not rdx
and rdx, r8
lea rcx, [rcx + rdx*2]
mov edx, dword [0x14053426c]
cmp edx, 0x54
jg 0x140321060
mov qword [0x1405316a0], rcx
cmp dword [0x140515218], 0x5bc8aeac
je 0x140321074
nop word cs:[rax + rax]
mov qword [0x1405316a0], rcx
mov edx, dword [0x14053426c]
cmp edx, 0xa
jge 0x140321060
jmp 0x140321041
lea rsi, [rbp - 0x40]
mov rcx, rsi
mov rdx, rax
call fcn.140314140
mov rcx, rsi
call fcn.14032faa0
jmp 0x140320ee1