Function at 0x140082bc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x38
lea rbp, [rsp + 0x30]
mov qword [rbp], 0xfffffffffffffffe
mov rsi, rcx
mov eax, dword [0x140568fbf]
mov ecx, eax
not ecx
mov edx, dword [0x1405015c0]
mov r8d, edx
xor r8d, 0x7380dca1
and edx, 0x7380dca1
lea edx, [r8 + rdx*2]
mov r8d, ecx
xor r8d, eax
and r8d, edx
xor r8d, eax
and ecx, 0xfffffffb
or ecx, r8d
cmp ecx, 0xffffffff
je 0x140082c30
xor esi, esi
mov eax, esi
add rsp, 0x38
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
mov eax, dword [rsi + 0x87c]
and eax, 0x21
cmp eax, 1
jne 0x140082ee9
mov dword [rsp + 0x20], 0xde424429
mov rcx, rsi
mov dl, 1
mov r8d, 0x798792ef
mov r9d, 0xc4e12d3a
call fcn.1400aae40
test al, al
je 0x140082ee9
mov eax, dword [rsi + 0x87c]
mov ecx, eax
not ecx
xor eax, 0x10
and ecx, 0xffffffef
or ecx, eax
not ecx
mov eax, dword [0x1405015c0]
mov edx, eax
xor edx, 0x7380dc9d
and eax, 0x7380dc9d
lea eax, [rdx + rax*2]
cmp ecx, eax
je 0x140082c9e
mov rcx, rsi
call fcn.14007ef20
movaps xmm0, xmmword [0x140438430]
movups xmmword [0x14056906f], xmm0
movups xmmword [0x14056905f], xmm0
movups xmmword [0x14056904f], xmm0
movups xmmword [0x14056903f], xmm0
cmp qword [0x140575b00], 0
jne 0x140082cf7
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rdi, qword [0x140575b00]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x140082d1a
mov rcx, rsi
call fcn.1400996b0
mov rcx, rsi
call fcn.1400a87d0
mov qword [rdi + 0x3b0], 0
mov byte [0x140575c68], 1
cmp qword [0x140575b00], 0
jne 0x140082d62
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rsi, qword [0x140575b00]
lea rdi, [rsi + 0x558]
mov rcx, qword [rsi + 0x558]
test rcx, rcx
je 0x140082dab
cmp dword [rsi + 0x574], 1
jne 0x140082d93
mov r8, qword [rsi + 0x560]
xor edx, edx
call fcn.14041da70
mov rcx, qword [rdi]
test rcx, rcx
je 0x140082dab
mov edx, 0x39c171e1
mov r8d, 0xe593d2e2
call fcn.1400a87c0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
mov rcx, qword [0x140575d60]
test rcx, rcx
je 0x140082de8
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x14013cbc3.0]
mov qword [0x140575d60], 0
cmp qword [0x140575b00], 0
jne 0x140082e1e
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rsi, qword [0x140575b00]
mov rcx, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
sub rax, rcx
shr rax, 5
imul eax, eax, 0xcccccccd
test eax, eax
jle 0x14008331b
xor edi, edi
movabs rbx, 0xe3d4431675487fc
movabs r14, 0xe3d44316754889b
jmp 0x140082e70
cqo
idiv r8
cdqe
cmp rdi, rax
jge 0x14008331b
lea rax, [rdi + rdi*4]
shl rax, 5
cmp dword [rcx + rax + 0x88], 0
jne 0x140082e8d
cmp qword [rcx + rax + 0x88], 0
je 0x140082eb2
lea r8, [rcx + rax]
add r8, 0x80
mov edx, dword [rcx + rax + 0x24]
mov dword [rsp + 0x20], 0xb4873da
mov rcx, rsi
mov r9d, 0x16d1e9f
call fcn.1400aa0a0
mov r8, qword [0x1405015b8]
add rdi, rbx
add rdi, r8
mov rcx, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
sub rax, rcx
add r8, r14
mov rdx, rax
or rdx, r8
shr rdx, 0x20
jne 0x140082e60
xor edx, edx
div r8d
jmp 0x140082e65
mov rcx, rsi
call fcn.14007f6d0
test al, al
je 0x140082f3a
nop word cs:[rax + rax]
mov rbx, qword [0x140500018]
movsxd r14, dword [rbx]
mov eax, dword [0x140575630]
mov ecx, eax
not ecx
imul ecx, eax
test cl, 1
je 0x140083051
mov rax, qword [0x140500018]
mov eax, dword [rax]
mov eax, dword [0x140575630]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jmp 0x140082f00
mov byte [0x140575c68], 1
mov rax, qword [0x140575a40]
test rax, rax
je 0x1400834cc
mov rsi, qword [rax + 0x20]
mov r12, qword [rsi]
cmp r12, rsi
je 0x140083441
mov edi, 0x7380dc9d
movabs rbx, 0xf1c2bbce98ab7804
movabs r14, 0xe3d4431675487fb
movabs r15, 0x71c2bbce98ab7804
jmp 0x140082f9c
mov rax, r12
nop dword [rax]
mov r12, rax
cmp rax, rsi
je 0x140083441
mov dword [r12 + 0x30], 0
mov eax, dword [0x1405015c0]
add eax, edi
mov dword [r12 + 0x28], eax
mov r8, qword [r12 + 0x58]
mov rax, qword [0x1405015b8]
mov rcx, rax
not rcx
mov rdx, rax
and rdx, rbx
mov r9, rcx
and r9, r14
or r9, rdx
xor rax, r14
and rcx, r15
or rcx, rax
not rcx
lea rax, [r9 + rcx*2]
cmp r8, rax
je 0x140082ff4
mov rcx, qword [r12 + 0x50]
mov dl, 1
call fcn.14041da70
mov r8, qword [r12 + 0x98]
test r8, r8
je 0x140083010
mov rcx, qword [r12 + 0x90]
mov dl, 1
call fcn.14041da70
mov rcx, qword [r12 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x140083040
nop dword [rax + rax]
mov rax, qword [r12 + 8]
cmp byte [rax + 0x19], 0
jne 0x140082f90
mov rcx, r12
mov r12, rax
cmp rcx, qword [rax + 0x10]
je 0x140083020
jmp 0x140082f86
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140083040
jmp 0x140082f90
mov eax, dword [0x140575634]
cmp eax, 0x2f
jle 0x140083071
nop dword [rax]
mov eax, dword [0x1404385bc]
mov eax, dword [0x140575634]
cmp eax, 0x10
jge 0x140083060
mov edi, dword [0x1404385bc]
mov eax, dword [rsi + 0x87c]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 2
and eax, 0xfffffffd
or eax, edx
and ecx, 0xfffffffd
mov edx, eax
not edx
xor eax, ecx
not ecx
and ecx, edx
or ecx, eax
not ecx
or ecx, eax
cmp ecx, 0xffffffff
je 0x140083258
mov rcx, rsi
call fcn.14007fb80
test al, al
je 0x140083258
movaps xmm0, xmmword [0x140438430]
movups xmmword [0x14056906f], xmm0
movups xmmword [0x14056905f], xmm0
movups xmmword [0x14056904f], xmm0
movups xmmword [0x14056903f], xmm0
cmp qword [0x140575b00], 0
jne 0x140083110
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rdi, qword [0x140575b00]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x140083133
mov rcx, rsi
call fcn.1400996b0
mov rcx, rsi
call fcn.1400a87d0
mov qword [rdi + 0x3b0], 0
mov byte [0x140575c68], 1
mov rcx, qword [0x140575d60]
test rcx, rcx
je 0x14008316d
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x14013cbc3.0]
mov qword [0x140575d60], 0
cmp qword [0x140575b00], 0
jne 0x1400831a3
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rsi, qword [0x140575b00]
lea rdi, [rsi + 0x558]
mov rcx, qword [rsi + 0x558]
test rcx, rcx
je 0x1400837ae
cmp dword [rsi + 0x574], 1
jne 0x1400831d8
mov r8, qword [rsi + 0x560]
xor edx, edx
call fcn.14041da70
mov rcx, qword [rdi]
test rcx, rcx
je 0x140083204
mov eax, dword [0x1405015c0]
lea edx, [rax - 0x52bdb182]
mov r8d, eax
xor r8d, 0x5914af7f
and eax, 0x5914af7f
lea r8d, [r8 + rax*2]
call fcn.1400a87c0
cmp qword [0x140575b00], 0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
jne 0x1400837c3
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
jmp 0x1400837c3
mov rax, r14
xor rax, rbx
and r14, rbx
lea r9, [rax + r14*2]
mov ecx, dword [rsi + 0x87c]
mov r8d, ecx
xor r8d, 0xfffffffb
mov al, 1
nop word cs:[rax + rax]
mov r10d, dword [0x140500010]
mov edx, dword [0x1405015c0]
lea ebx, [r10 + rdx]
add ebx, 0x7380dc9e
mov dword [0x140500010], ebx
mov edx, dword [0x140575630]
lea r11d, [rdx + 1]
imul r11d, edx
test r11b, 1
je 0x1400832c6
nop word cs:[rax + rax]
test al, al
je 0x1400832c0
jmp 0x140083280
mov edx, dword [0x140575630]
lea eax, [rdx + 0x71b0f32f]
mov r11d, eax
xor r11d, 0x8e4f0cd0
and eax, 0xe4f0cd0
lea eax, [r11 + rax*2]
imul eax, edx
mov edx, dword [0x1405015c0]
mov r11d, edx
xor r11d, 0x7380dc9f
not edx
and edx, 0xc7f2360
or edx, r11d
not edx
lea r11d, [r11 + rdx*2]
xor edx, edx
div r11d
test edx, edx
jne 0x140084760
jmp 0x140084749
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
test eax, eax
jle 0x14008337b
xor edi, edi
nop word cs:[rax + rax]
mov eax, dword [0x1405015c0]
lea r9d, [rax + 0x74edfb3c]
add eax, 0x7ec95077
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov edx, edi
xor r8d, r8d
call fcn.1400aa0a0
inc edi
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp edi, eax
jl 0x140083340
mov rax, qword [0x140575a40]
mov sil, 1
test rax, rax
je 0x140082c1d
mov rbx, qword [rax + 0x20]
mov r14, qword [rbx]
cmp r14, rbx
je 0x140082c1d
mov edi, 1
jmp 0x1400833be
inc edi
mov r14, rax
cmp rax, rbx
je 0x140082c1d
mov dword [r14 + 0x30], 0
mov dword [r14 + 0x28], 0
mov r8, qword [r14 + 0x58]
test r8, r8
je 0x1400833e2
mov rcx, qword [r14 + 0x50]
mov edx, edi
call fcn.14041da70
mov r8, qword [r14 + 0x98]
test r8, r8
je 0x1400833fc
mov rcx, qword [r14 + 0x90]
mov edx, edi
call fcn.14041da70
mov rcx, qword [r14 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x140083430
nop word cs:[rax + rax]
mov rax, qword [r14 + 8]
cmp byte [rax + 0x19], 0
jne 0x1400833b0
mov rcx, r14
mov r14, rax
cmp rcx, qword [rax + 0x10]
je 0x140083410
mov rax, r14
jmp 0x1400833b0
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140083430
jmp 0x1400833b0
mov rax, qword [0x140575a40]
mov rax, qword [rax + 0x30]
mov rdx, qword [rax]
cmp rdx, rax
je 0x1400834cc
mov ecx, 0x7380dc9c
jmp 0x140083468
mov rdx, r8
cmp r8, rax
je 0x1400834cc
mov r8d, dword [0x1405015c0]
add r8d, ecx
mov dword [rdx + 0x20], r8d
mov r9, qword [rdx + 0x10]
movzx r8d, byte [0x1405015c4]
mov r10d, r8d
xor r10b, 0xb9
and r8b, 0x39
add r8b, r8b
add r8b, r10b
cmp byte [r9 + 0x19], r8b
jne 0x1400834b0
nop dword [rax]
mov r8, r9
mov r9, qword [r9]
cmp byte [r9 + 0x19], 0
je 0x1400834a0
jmp 0x140083460
mov r8, qword [rdx + 8]
cmp byte [r8 + 0x19], 0
jne 0x140083460
mov r9, rdx
mov rdx, r8
cmp r9, qword [r8 + 0x10]
je 0x1400834b0
mov r8, rdx
jmp 0x140083460
movaps xmm0, xmmword [0x140438430]
movups xmmword [0x14056906f], xmm0
movups xmmword [0x14056905f], xmm0
movups xmmword [0x14056904f], xmm0
movups xmmword [0x14056903f], xmm0
cmp qword [0x140575b00], 0
jne 0x140083525
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rdi, qword [0x140575b00]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x140083548
mov rcx, rsi
call fcn.1400996b0
mov rcx, rsi
call fcn.1400a87d0
mov qword [rdi + 0x3b0], 0
mov rcx, qword [0x140575d60]
test rcx, rcx
je 0x14008357b
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x14013cbc3.0]
mov qword [0x140575d60], 0
cmp qword [0x140575b00], 0
jne 0x1400835b1
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rax, qword [0x140575b00]
mov r8, qword [rax + 0x560]
test r8, r8
je 0x140083608
mov rcx, qword [rax + 0x558]
mov dl, 1
call fcn.14041da70
cmp qword [0x140575b00], 0
jne 0x140083608
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rdi, qword [0x140575b00]
mov r8, qword [rdi + 0x370]
mov rax, qword [0x1405756b0]
add rax, qword [rdi + 0x378]
movabs rcx, 0x2b9d65a808887a0f
add rcx, rax
movabs rax, 0xd4629a57f77785f1
xor rax, rcx
movabs rdx, 0x54629a57f77785f1
and rdx, rcx
lea rax, [rax + rdx*2]
sub rax, r8
movabs rcx, 0x6a13e79e58f9b6d5
add rcx, rax
movabs rax, 0x95ec1861a706492b
xor rax, rcx
movabs rdx, 0x15ec1861a706492b
and rdx, rcx
movabs rcx, 0xe3d44316754889b
add rcx, qword [0x1405015b8]
lea rax, [rax + rdx*2]
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x1400836a8
cqo
idiv rcx
test eax, eax
jg 0x1400836b0
jmp 0x14008372a
xor edx, edx
div ecx
test eax, eax
jle 0x14008372a
mov esi, 0x80
mov ebx, 1
cmp dword [r8 + rsi + 8], 0
je 0x1400836e2
jmp 0x1400836ea
add rsi, 0xa0
inc rbx
cmp dword [r8 + rsi + 8], 0
jne 0x1400836ea
cmp qword [r8 + rsi + 8], 0
je 0x140083708
mov edx, dword [r8 + rsi - 0x5c]
add r8, rsi
mov dword [rsp + 0x20], 0xb4873da
mov rcx, rdi
mov r9d, 0x16d1e9f
call fcn.1400aa0a0
mov r8, qword [rdi + 0x370]
mov rax, qword [rdi + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
cdqe
cmp rbx, rax
jl 0x1400836d0
mov rax, qword [rdi + 0x398]
sub rax, qword [rdi + 0x390]
shr rax, 2
mov sil, 1
test eax, eax
jle 0x140082c1d
xor ebx, ebx
nop dword [rax]
mov eax, dword [0x1405015c0]
lea r9d, [rax + 0x74edfb3c]
mov ecx, eax
xor ecx, 0x7ec95077
and eax, 0x7ec95077
lea eax, [rcx + rax*2]
mov dword [rsp + 0x20], eax
mov rcx, rdi
mov edx, ebx
xor r8d, r8d
call fcn.1400aa0a0
inc ebx
mov rax, qword [rdi + 0x398]
sub rax, qword [rdi + 0x390]
mov ecx, dword [0x1405015b8]
mov edx, ecx
xor edx, 0xfd
and ecx, 0x7d
lea ecx, [rdx + rcx*2]
shr rax, cl
cmp ebx, eax
jl 0x140083750
jmp 0x140082c1d
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
mov rsi, qword [0x140575b00]
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
movabs rcx, 0x3caf535565848edb
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea rdx, [rdx + rax*2]
sub rdx, r8
movabs rax, 0xc350acaa9a7b7125
movabs rcx, 0xe3d44316754889b
add rcx, qword [0x1405015b8]
add rax, rdx
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x140083823
cqo
idiv rcx
jmp 0x140083827
xor edx, edx
div ecx
test eax, eax
jle 0x1400838ae
mov edi, 0x80
mov ebx, 1
mov r14d, 0x7380dc9d
nop
mov eax, dword [r8 + rdi + 8]
mov ecx, dword [0x1405015c0]
add ecx, r14d
sub eax, ecx
add eax, dword [0x1405758c4]
cmp eax, ecx
jne 0x140083862
cmp qword [r8 + rdi + 8], 0
je 0x140083880
mov edx, dword [r8 + rdi - 0x5c]
add r8, rdi
mov dword [rsp + 0x20], 0xb4873da
mov rcx, rsi
mov r9d, 0x16d1e9f
call fcn.1400aa0a0
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
cdqe
cmp rbx, rax
jge 0x1400838ae
add rdi, 0xa0
inc rbx
jmp 0x140083840
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
test eax, eax
jle 0x140083914
xor edi, edi
nop word cs:[rax + rax]
mov eax, dword [0x1405015c0]
lea r9d, [rax + 0x74edfb3c]
add eax, 0x7ec95077
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov edx, edi
xor r8d, r8d
call fcn.1400aa0a0
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
inc edi
movzx ecx, byte [0x1405015b8]
add cl, 0xfd
shr rax, cl
cmp edi, eax
jl 0x1400838d0
mov rax, qword [0x140575a40]
mov sil, 1
test rax, rax
je 0x140082c1d
mov rbx, qword [rax + 0x20]
mov r14, qword [rbx]
cmp r14, rbx
je 0x140082c1d
mov edi, 1
jmp 0x14008394e
inc edi
mov r14, rax
cmp rax, rbx
je 0x140082c1d
mov dword [r14 + 0x30], 0
mov dword [r14 + 0x28], 0
mov r8, qword [r14 + 0x58]
test r8, r8
je 0x140083972
mov rcx, qword [r14 + 0x50]
mov edx, edi
call fcn.14041da70
mov r8, qword [r14 + 0x98]
test r8, r8
je 0x14008398c
mov rcx, qword [r14 + 0x90]
mov edx, edi
call fcn.14041da70
mov rcx, qword [r14 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400839d0
nop word cs:[rax + rax]
mov rax, qword [r14 + 8]
movzx ecx, byte [0x1405015c4]
add cl, 0xb9
cmp byte [rax + 0x19], cl
jne 0x140083940
mov rcx, r14
mov r14, rax
cmp rcx, qword [rax + 0x10]
je 0x1400839a0
mov rax, r14
jmp 0x140083940
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x1400839d0
jmp 0x140083940
mov rcx, rsi
call fcn.1400811b0
test al, al
je 0x140083df5
movzx eax, byte [0x1405015c4]
add al, 0xba
mov byte [0x140575c68], al
cmp qword [0x140575b00], 0
jne 0x140083a36
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rsi, qword [0x140575b00]
lea rdi, [rsi + 0x558]
mov rcx, qword [rsi + 0x558]
test rcx, rcx
je 0x140083afd
mov eax, 0x7380dc9e
add eax, dword [0x1405015c0]
cmp dword [rsi + 0x574], eax
jne 0x140083a75
mov r8, qword [rsi + 0x560]
xor edx, edx
call fcn.14041da70
mov rcx, qword [rdi]
test rcx, rcx
je 0x140083a8d
mov edx, 0x39c171e1
mov r8d, 0xe593d2e2
call fcn.1400a87c0
xorps xmm0, xmm0
cmp qword [0x140575b00], 0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
movaps xmm0, xmmword [0x140438430]
movups xmmword [0x14056906f], xmm0
movups xmmword [0x14056905f], xmm0
movups xmmword [0x14056904f], xmm0
movups xmmword [0x14056903f], xmm0
jne 0x140083b4e
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
jmp 0x140083b4e
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
movzx eax, byte [0x1405015c4]
mov ecx, eax
xor cl, 0xba
and al, 0x3a
add al, al
mov edx, ecx
xor dl, al
and al, cl
add al, al
add al, dl
mov byte [rsi + 0x570], al
movaps xmm0, xmmword [0x140438430]
movups xmmword [0x14056906f], xmm0
movups xmmword [0x14056905f], xmm0
movups xmmword [0x14056904f], xmm0
movups xmmword [0x14056903f], xmm0
mov rsi, qword [0x140575b00]
mov rax, qword [rsi + 0x370]
mov rcx, qword [0x1405015b8]
sub rcx, rax
add rcx, qword [rsi + 0x378]
movabs rdx, 0xe3d4431675487fb
add rdx, rcx
shr rdx, 5
imul ecx, edx, 0xcccccccd
test ecx, ecx
jle 0x140083c11
xor edi, edi
movabs rbx, 0xe3d4431675487fc
jmp 0x140083bf2
lea r8, [rax + rcx]
add r8, 0x80
mov edx, dword [rax + rcx + 0x24]
mov dword [rsp + 0x20], 0xb4873da
mov rcx, rsi
mov r9d, 0x16d1e9f
call fcn.1400aa0a0
add rdi, qword [0x1405015b8]
add rdi, rbx
mov rax, qword [rsi + 0x370]
mov rcx, qword [rsi + 0x378]
sub rcx, rax
shr rcx, 5
imul ecx, ecx, 0xcccccccd
movsxd rcx, ecx
cmp rdi, rcx
jge 0x140083c11
lea rcx, [rdi + rdi*4]
shl rcx, 5
cmp dword [rax + rcx + 0x88], 0
jne 0x140083ba0
cmp qword [rax + rcx + 0x88], 0
je 0x140083bc5
jmp 0x140083ba0
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
mov ecx, 0x7380dc9d
add ecx, dword [0x1405015c0]
cmp eax, ecx
jle 0x140083c73
xor edi, edi
nop word cs:[rax + rax]
mov dword [rsp + 0x20], 0xb4873da
mov rcx, rsi
mov edx, edi
xor r8d, r8d
mov r9d, 0x16d1e9f
call fcn.1400aa0a0
inc edi
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp edi, eax
jl 0x140083c40
mov rax, qword [0x140575a40]
test rax, rax
je 0x140083d5d
mov rdi, qword [rax + 0x20]
mov rbx, qword [rdi]
cmp rbx, rdi
je 0x140083d5d
mov esi, 1
jmp 0x140083cb5
lea esi, [rax + rsi*2]
add esi, 0x3a1d2387
mov rbx, rcx
cmp rcx, rdi
je 0x140083d5d
mov dword [rbx + 0x30], 0
mov dword [rbx + 0x28], 0
mov r8, qword [rbx + 0x58]
test r8, r8
je 0x140083cd7
mov rcx, qword [rbx + 0x50]
mov edx, esi
call fcn.14041da70
mov r8, qword [rbx + 0x98]
test r8, r8
je 0x140083cf1
mov rcx, qword [rbx + 0x90]
mov edx, esi
call fcn.14041da70
add esi, 0xc5e2dc79
mov eax, esi
xor eax, 1
and esi, 1
mov rdx, qword [rbx + 0x10]
cmp byte [rdx + 0x19], 0
je 0x140083d30
nop dword [rax]
mov rcx, qword [rbx + 8]
cmp byte [rcx + 0x19], 0
jne 0x140083ca0
mov rdx, rbx
mov rbx, rcx
cmp rdx, qword [rcx + 0x10]
je 0x140083d10
mov rcx, rbx
jmp 0x140083ca0
mov rcx, rdx
mov rdx, qword [rdx]
movzx r8d, byte [0x1405015c4]
mov r9d, r8d
xor r9b, 0x46
and r9b, r8b
xor r8b, 0xb9
add r9b, r9b
add r9b, r8b
cmp byte [rdx + 0x19], r9b
je 0x140083d30
jmp 0x140083ca0
cmp qword [0x140575b00], 0
jne 0x140083d93
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rdi, qword [0x140575b00]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x140083db6
mov rcx, rsi
call fcn.1400996b0
mov rcx, rsi
call fcn.1400a87d0
mov qword [rdi + 0x3b0], 0
mov rcx, qword [0x140575d60]
mov sil, 1
test rcx, rcx
je 0x140082c1d
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x14013cbc3.0]
mov qword [0x140575d60], 0
jmp 0x140082c1d
mov eax, dword [rsi + 0x87c]
mov edx, dword [0x140438500]
mov ecx, dword [0x1405758b4]
cmp ebx, 1
sbb ecx, 0xffffffff
lea r8d, [rcx - 1]
sub edx, r14d
mov r9d, edx
not r9d
neg ecx
mov r10d, r8d
xor r10d, edx
and r10d, r8d
and edx, ecx
or edx, r10d
and ecx, r9d
mov r8d, edx
and r8d, ecx
xor ecx, edx
xor ecx, r8d
not ecx
add rcx, qword [0x1405756b0]
mov rdx, qword [0x1405015b8]
movabs r8, 0xa0e1beef4e93d17a
xor r8, rdx
movabs r9, 0x20e1beef4e93d17a
and r9, rdx
lea rdx, [r8 + r9*2]
sub rcx, rdx
movabs rdx, 0x92a47abde73f497f
add rdx, rcx
mov qword [0x1405756b0], rdx
not eax
or eax, 0xfffffff7
cmp eax, 0xffffffff
je 0x140084000
mov rcx, rsi
call fcn.140081830
test al, al
je 0x140084000
movaps xmm0, xmmword [0x140438430]
movups xmmword [0x14056906f], xmm0
movups xmmword [0x14056905f], xmm0
movups xmmword [0x14056904f], xmm0
movups xmmword [0x14056903f], xmm0
cmp qword [0x140575b00], 0
jne 0x140083ef4
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rdi, qword [0x140575b00]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x140083f17
mov rcx, rsi
call fcn.1400996b0
mov rcx, rsi
call fcn.1400a87d0
mov qword [rdi + 0x3b0], 0
mov byte [0x140575c68], 1
cmp qword [0x140575b00], 0
jne 0x140083f5f
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rsi, qword [0x140575b00]
lea rdi, [rsi + 0x558]
mov rcx, qword [rsi + 0x558]
test rcx, rcx
je 0x1400841ea
cmp dword [rsi + 0x574], 1
jne 0x140083f94
mov r8, qword [rsi + 0x560]
xor edx, edx
call fcn.14041da70
mov rcx, qword [rdi]
test rcx, rcx
je 0x140083fac
mov edx, 0x39c171e1
mov r8d, 0xe593d2e2
call fcn.1400a87c0
cmp qword [0x140575b00], 0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
jne 0x1400841ff
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
jmp 0x1400841ff
mov eax, dword [rsi + 0x87c]
mov ecx, eax
not ecx
and ecx, 0xffffffdf
mov edx, eax
xor edx, 0x20
or edx, ecx
not edx
or edx, ecx
test edx, eax
je 0x140084159
mov rcx, rsi
call fcn.140081de0
test al, al
je 0x140084159
mov byte [0x140575c68], 1
mov rcx, qword [0x140575d60]
test rcx, rcx
je 0x140084078
mov rax, qword [rcx]
mov rax, qword [rax]
xor edx, edx
sub edx, dword [0x1405015c0]
mov r8d, edx
xor r8d, 0x8c7f2362
and edx, 0xc7f2362
lea edx, [r8 + rdx*2]
neg edx
call qword [case.0x14013cbc3.0]
mov qword [0x140575d60], 0
cmp qword [0x140575b00], 0
jne 0x1400840ae
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rsi, qword [0x140575b00]
lea rdi, [rsi + 0x558]
mov rcx, qword [rsi + 0x558]
test rcx, rcx
je 0x140084489
cmp dword [rsi + 0x574], 1
jne 0x1400840e3
mov r8, qword [rsi + 0x560]
xor edx, edx
call fcn.14041da70
mov rcx, qword [rdi]
test rcx, rcx
je 0x140084105
mov r8d, dword [0x1405015c0]
lea edx, [r8 - 0x52bdb182]
add r8d, 0x5914af7f
call fcn.1400a87c0
cmp qword [0x140575b00], 0
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
jne 0x14008449e
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
jmp 0x14008449e
mov eax, 0x7380dcdd
add eax, dword [0x1405015c0]
test dword [rsi + 0x87c], eax
je 0x14008418c
mov rcx, rsi
call fcn.140082400
test al, al
je 0x14008418c
mov edx, dword [0x1405015c0]
lea ecx, [rdx + 0x7380dc9e]
add edx, 0x45e956c1
jmp 0x1400841e0
mov eax, dword [rsi + 0x87c]
mov ecx, eax
not ecx
xor eax, 0x200
mov edx, eax
and edx, 0x200
and ecx, 0xfffffdff
or ecx, edx
and eax, 0xfffffdff
xor eax, ecx
not eax
mov ecx, 0x7380dc9d
add ecx, dword [0x1405015c0]
cmp eax, ecx
je 0x140082c1b
mov ecx, 0x66ffeb77
call fcn.1400a9ce0
test al, al
je 0x140082c1b
xor ecx, ecx
mov edx, 0xd2687a24
call fcn.1400a88b0
jmp 0x140084741
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
mov rsi, qword [0x140575b00]
mov r8, qword [rsi + 0x370]
movabs rax, 0xca1d2faa2cfdac2d
add rax, qword [rsi + 0x378]
movabs rcx, 0xe074bb734
xor rcx, rax
movabs rdx, 0x5171e12e074bb734
and rdx, rax
lea rax, [rcx + rdx*2]
sub rax, r8
movabs rcx, 0xe470ef27cbb69c9f
add rcx, rax
shr rcx, 5
imul eax, ecx, 0xcccccccd
mov ecx, 0x7380dc9d
add ecx, dword [0x1405015c0]
cmp eax, ecx
jle 0x140084330
mov edi, 0x80
mov ebx, 1
movabs r14, 0x7077f3ed08d76e95
movabs r15, 0x9dc550445e7d1966
movabs r12, 0xe3d44316754889b
cmp dword [r8 + rdi + 8], 0
je 0x1400842b2
jmp 0x1400842ba
add rdi, 0xa0
inc rbx
cmp dword [r8 + rdi + 8], 0
jne 0x1400842ba
cmp qword [r8 + rdi + 8], 0
je 0x1400842e0
mov edx, dword [r8 + rdi - 0x5c]
add r8, rdi
mov eax, dword [0x1405015c0]
lea r9d, [rax + 0x74edfb3c]
add eax, 0x7ec95077
mov dword [rsp + 0x20], eax
mov rcx, rsi
call fcn.1400aa0a0
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
mov rcx, qword [0x1405015b8]
mov rdx, rax
xor rdx, r14
and rax, r14
lea rax, [rdx + rax*2]
add rax, rcx
sub rax, r8
add rax, r15
add rcx, r12
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x140084321
cqo
idiv rcx
jmp 0x140084325
xor edx, edx
div ecx
cdqe
cmp rbx, rax
jl 0x1400842a0
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
test eax, eax
jle 0x140084383
xor edi, edi
nop dword [rax + rax]
mov dword [rsp + 0x20], 0xb4873da
mov rcx, rsi
mov edx, edi
xor r8d, r8d
mov r9d, 0x16d1e9f
call fcn.1400aa0a0
inc edi
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp edi, eax
jl 0x140084350
mov rcx, qword [0x140575d60]
test rcx, rcx
je 0x1400843ab
mov rax, qword [rcx]
mov rax, qword [rax]
mov edx, 1
call qword [case.0x14013cbc3.0]
mov qword [0x140575d60], 0
mov rax, qword [0x140575a40]
mov sil, 1
test rax, rax
je 0x140082c1d
mov rbx, qword [rax + 0x20]
mov r14, qword [rbx]
cmp r14, rbx
je 0x140082c1d
mov edi, 1
jmp 0x1400843f5
mov rax, qword [r14 + 8]
cmp byte [rax + 0x19], 0
je 0x140084460
add edi, 0x8c7f2364
mov r14, rax
cmp rax, rbx
je 0x140082c1d
mov dword [r14 + 0x30], 0
mov dword [r14 + 0x28], 0
mov r8, qword [r14 + 0x58]
test r8, r8
je 0x140084419
mov rcx, qword [r14 + 0x50]
mov edx, edi
call fcn.14041da70
mov r8, qword [r14 + 0x98]
test r8, r8
je 0x140084433
mov rcx, qword [r14 + 0x90]
mov edx, edi
call fcn.14041da70
sub edi, dword [0x1405015c0]
mov rcx, qword [r14 + 0x10]
movzx eax, byte [0x1405015c4]
add al, 0xb9
cmp byte [rcx + 0x19], al
jne 0x1400843d5
nop dword [rax + rax]
mov rax, rcx
mov rcx, qword [rcx]
cmp byte [rcx + 0x19], 0
je 0x140084450
jmp 0x1400843e3
mov rcx, r14
mov r14, rax
cmp rcx, qword [rax + 0x10]
jne 0x140084481
mov rax, qword [r14 + 8]
movzx ecx, byte [rax + 0x19]
add cl, byte [0x1405756a0]
je 0x140084460
jmp 0x1400843e3
mov rax, r14
jmp 0x1400843e3
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], 0
mov byte [rsi + 0x570], 1
mov rsi, qword [0x140575b00]
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
sub rax, r8
shr rax, 5
imul eax, eax, 0xcccccccd
test eax, eax
jle 0x140084598
mov edi, 0x80
mov ebx, 1
movabs r14, 0x296a1bd87fdd75df
movabs r15, 0x62df2805d1fecb9d
movabs r12, 0x73b6bc21ae23be84
movabs r13, 0xe3d44316754889b
cmp dword [r8 + rdi + 8], 0
je 0x140084522
jmp 0x14008452a
add rdi, 0xa0
inc rbx
cmp dword [r8 + rdi + 8], 0
jne 0x14008452a
cmp qword [r8 + rdi + 8], 0
je 0x140084548
mov edx, dword [r8 + rdi - 0x5c]
add r8, rdi
mov dword [rsp + 0x20], 0xb4873da
mov rcx, rsi
mov r9d, 0x16d1e9f
call fcn.1400aa0a0
mov r8, qword [rsi + 0x370]
mov rax, qword [rsi + 0x378]
add rax, r14
mov rcx, rax
xor rcx, r15
and rax, r15
lea rax, [rcx + rax*2]
sub rax, r8
add rax, r12
mov rcx, qword [0x1405015b8]
add rcx, r13
mov rdx, rax
or rdx, rcx
shr rdx, 0x20
je 0x140084589
cqo
idiv rcx
jmp 0x14008458d
xor edx, edx
div ecx
cdqe
cmp rbx, rax
jl 0x140084510
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
test eax, eax
jle 0x1400845eb
xor edi, edi
mov eax, dword [0x1405015c0]
lea r9d, [rax + 0x74edfb3c]
add eax, 0x7ec95077
mov dword [rsp + 0x20], eax
mov rcx, rsi
mov edx, edi
xor r8d, r8d
call fcn.1400aa0a0
inc edi
mov rax, qword [rsi + 0x398]
sub rax, qword [rsi + 0x390]
shr rax, 2
cmp edi, eax
jl 0x1400845b0
mov rax, qword [0x140575a40]
test rax, rax
je 0x1400846ba
mov rsi, qword [rax + 0x20]
mov r14, qword [rsi]
cmp r14, rsi
je 0x1400846ba
mov edi, 1
jmp 0x140084620
inc edi
mov r14, rax
cmp rax, rsi
je 0x1400846ba
mov dword [r14 + 0x30], 0
mov dword [r14 + 0x28], 0
movzx ebx, byte [0x1405756c0]
add bl, dil
add bl, 0x86
mov eax, ebx
xor al, 0x7a
and bl, 0x7a
add bl, bl
add bl, al
mov r8, qword [r14 + 0x58]
test r8, r8
je 0x14008465c
mov rcx, qword [r14 + 0x50]
mov edx, ebx
call fcn.14041da70
mov r8, qword [r14 + 0x98]
test r8, r8
je 0x140084676
mov rcx, qword [r14 + 0x90]
mov edx, ebx
call fcn.14041da70
mov rcx, qword [r14 + 0x10]
cmp byte [rcx + 0x19], 0
je 0x1400846a0
mov rax, qword [r14 + 8]
cmp byte [rax + 0x19], 0
jne 0x140084612
mov rcx, r14
mov r14, rax
cmp rcx, qword [rax + 0x10]
je 0x140084680
mov rax, r14
jmp 0x140084612
mov rax, rcx
mov rcx, qword [rcx]
movzx edx, byte [0x1405015c4]
add dl, 0xb9
cmp byte [rcx + 0x19], dl
je 0x1400846a0
jmp 0x140084612
movaps xmm0, xmmword [0x140438430]
movups xmmword [0x14056906f], xmm0
movups xmmword [0x14056905f], xmm0
movups xmmword [0x14056904f], xmm0
movups xmmword [0x14056903f], xmm0
cmp qword [0x140575b00], 0
jne 0x140084713
mov ecx, 0x700
mov edx, 0x9d4bde00
mov r8d, 0xc61b48
call fcn.1400aaae0
mov qword [rbp - 8], rax
mov rcx, rax
call fcn.140097d10
mov rax, qword [rbp - 8]
mov qword [0x140575b00], rax
mov rdi, qword [0x140575b00]
mov rsi, qword [rdi + 0x3b0]
test rsi, rsi
je 0x140084736
mov rcx, rsi
call fcn.1400996b0
mov rcx, rsi
call fcn.1400a87d0
mov qword [rdi + 0x3b0], 0
mov sil, 1
jmp 0x140082c1d
mov eax, dword [0x140575634]
cmp eax, 0x36
jl 0x14008476d
nop word cs:[rax + rax]
mov eax, dword [0x140575634]
cmp eax, 0x32
jge 0x140084760
jmp 0x140084749
mov eax, r10d
not eax
xor r10d, ebx
not ebx
and ebx, eax
xor ebx, r10d
not ebx
lea rax, [fcn.140082bc0]
lea edx, [rax + rax]
add edx, 0x1001
add eax, eax
add eax, 0x1000
not eax
mov r10d, eax
and r10d, edx
and eax, 0xfffffffe
xor eax, edx
or eax, r10d
mov dl, 1
nop word [rax + rax]
mov r10d, dword [0x140575630]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
jne 0x1400847ca
cmp eax, 0xffffffff
je 0x1400847d0
test dl, dl
je 0x1400847b0
jmp 0x1400847c5
xor r14d, r14d
test ebx, ebx
jne 0x14008483c
test edi, edi
jle 0x14008483c
xor eax, eax
xor edx, edx
xor r14d, r14d
nop word cs:[rax + rax]
movsxd r10, edx
mov r10d, dword [r9 + r10]
mov r15d, r14d
not r15d
mov r11d, r10d
not r11d
nop word cs:[rax + rax]
test al, al
jne 0x140084810
xor r15d, r10d
mov r12d, r14d
and r12d, r11d
xor r12d, r15d
not r12d
xor r11d, r14d
xor r14d, r10d
and r14d, r10d
or r14d, r11d
not r14d
or r14d, r12d
add edx, 4
cmp edx, edi
jl 0x1400847f0
test r8d, ecx
jne 0x1400839e1
jmp 0x140083df5