Function at 0x14018fbf0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x260], 0xfffffffffffffffe
mov edi, r9d
mov r14, r8
mov r12, rdx
mov rsi, rcx
mov rbx, qword [rbp + 0x2d8]
mov rax, qword [rbp + 0x2d0]
mov dword [rbp + 0x258], r9d
and edi, 0xf
cmp edi, 2
jbe 0x14018fe36
mov dword [rbp + 0x248], eax
cmp edi, 5
jbe 0x14018fe85
cmp edi, 6
jne 0x1401900d6
call fcn.14017e060
mov qword [rbp + 0x250], rax
cmp qword [0x1407925f0], 0
jne 0x14018fcc9
nop
mov rcx, qword [0x140723768]
mov eax, dword [0x140723744]
mov edx, 0xffff38bb
sub edx, dword [rbp + 0x250]
mov dword [rbp + 0x230], edx
sub eax, edx
cdqe
add rax, rcx
mov ecx, 0x900
call qword [0x140704440]
nop
mov dword [rsp + 0x38], 0x6dc2db32
mov qword [rbp + 0x228], rax
mov rcx, rax
call fcn.140183c20
nop
mov rax, qword [rbp + 0x228]
mov qword [0x1407925f0], rax
nop
mov qword [rbp + 0x228], r14
mov r15, qword [0x1407925f0]
mov rax, qword [r15 + 0x5d8]
mov rcx, qword [rbx + 0x18]
xor r13d, r13d
xor edx, edx
call qword [0x140704440]
cmp eax, 0x18
jb 0x14019130f
lea r14, [rbx + 0x18]
mov rax, qword [r15 + 0x5c0]
mov rbx, qword [r14]
xor r13d, r13d
mov rcx, rbx
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call qword [0x140704440]
mov r8, qword [rbp + 0x2d8]
test eax, eax
jne 0x14019130f
mov qword [rbp + 0x210], rbx
mov qword [rbp + 0x238], r15
lea rax, [r15 + 0x5c0]
mov qword [rbp + 0x1b8], rax
lea rcx, [rbp - 0x30]
lea rdx, [rbp + 0x148]
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x220], rax
mov al, 1
mov dword [rbp + 0x244], eax
mov r13, rdx
mov qword [rbp + 0x230], rdx
mov qword [rbp + 0x208], rcx
mov qword [rbp + 0x200], rcx
mov rax, qword [rbp + 0x250]
mov dword [rbp + 0x240], eax
mov rbx, r8
mov r15, r14
mov r14, qword [rbp + 0x228]
test dword [rbp + 0x258], 0x400
jne 0x140190cc2
nop
mov qword [rbp + 0x218], 0
mov rax, qword [rbp + 0x238]
mov rax, qword [rax + 0x5b8]
lea rdx, [rbx + 0x50]
mov rcx, qword [r15]
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x218]
mov r8d, 0x18
call qword [0x140704440]
test eax, eax
je 0x14019081c
movabs rax, 0x4646494255424957
cmp qword [rbx + 0x58], rax
jne 0x14019081c
nop
mov rax, qword [rbp + 0x1b8]
mov rax, qword [rax]
mov edx, dword [rbx + 0x54]
mov rcx, qword [r15]
xor r8d, r8d
xor r9d, r9d
call qword [0x140704440]
cmp eax, dword [rbx + 0x54]
jne 0x1401905ab
add qword [rbp + 0x238], 0x5b8
jmp 0x1401908e4
test edi, edi
je 0x14018ff6c
cmp edi, 2
jne 0x14018ffb4
call fcn.14017e080
xor esi, eax
mov rax, qword [rbx]
mov ecx, esi
xor cl, 0xcc
mov rdx, r14
shl rdx, cl
mov rcx, qword [rbp + 0x2d0]
mov qword [rcx], rax
xor r14d, esi
xor r14d, edx
xor r14d, 0xdf
mov ecx, r14d
shl rax, cl
mov qword [r12], rax
xor r13d, r13d
jmp 0x14019130f
cmp edi, 3
je 0x140190104
cmp edi, 5
jne 0x1401901ac
nop
mov edi, dword [0x140725b74]
cmp qword [0x1407925f0], 0
jne 0x14018fed9
mov ecx, 0x900
call fcn.1400954c0
nop
mov dword [rsp + 0x38], 0x6dc2db32
mov qword [rbp + 0x258], rax
mov rcx, rax
call fcn.140183c20
nop
mov rax, qword [rbp + 0x258]
mov qword [0x1407925f0], rax
nop
mov r14, qword [0x1407925f0]
mov rax, qword [r14 + 0x5e0]
lea rbx, [rsi + 0x2d0]
mov rcx, qword [rsi + 0x18]
mov rdx, rbx
call qword [0x140704440]
cmp qword [rsi + 0x2d0], 0
je 0x1401904f1
nop
mov qword [rbp + 0x250], rdi
mov rax, qword [r14 + 0x5c8]
lea r8, [rsi + 0x2e0]
mov rcx, qword [rsi + 0x18]
xor r13d, r13d
xor edx, edx
xor r9d, r9d
call qword [0x140704440]
cmp qword [rsi + 0x2e0], 0
jne 0x14019130f
lea r15, [rsi + 0x18]
nop
mov dword [rbp - 0x30], 0
test byte [rsi + 0x2f8], 4
jne 0x140190673
lea rcx, [rsi + 0xa8]
mov edx, dword [rbx]
call fcn.140103490
jmp 0x140190694
nop
mov rdi, qword [rbp + 0x2d0]
mov rcx, rdi
call fcn.1400c7560
lea rsi, [rdi + 0x50]
mov r8d, 0x178
mov rcx, rsi
xor edx, edx
call fcn.1405c44a0
mov rcx, rdi
call fcn.140095900
test eax, eax
je 0x14019032d
test byte [rbp + 0x258], 0x10
je 0x1401900ce
mov ecx, eax
call fcn.140095910
nop
mov rdi, qword [rax]
mov r14, qword [rdi]
cmp r14, rdi
je 0x14018ffec
cmp rsi, rbx
je 0x14019039b
lea r8, [rsi + 0x10]
lea rcx, [r14 + 0x10]
mov edx, 0xc
mov r9d, 0x867c57a5
call fcn.140191810
mov rsi, qword [rsi]
mov r14, qword [r14]
cmp r14, rdi
jne 0x14018ffc0
nop
mov rax, qword [rbp + 0x2d0]
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x28], 0
cmp rsi, rbx
je 0x1401900ce
lea rdi, [rbp - 0x28]
mov ecx, 0x20
call fcn.1400954c0
mov r14, rax
lea r8, [rsi + 0x10]
mov rcx, rax
add rcx, 0x10
mov edx, 0xc
mov r9d, 0x867c57a5
call fcn.140191810
mov qword [rbp - 0x18], r14
mov qword [rbp - 0x20], r14
mov rax, qword [rdi]
inc rax
mov qword [rdi], rax
mov r14, qword [rsi]
cmp r14, rbx
je 0x14019009c
nop
mov ecx, 0x20
call fcn.1400954c0
mov rsi, rax
lea r8, [r14 + 0x10]
mov rcx, rax
add rcx, 0x10
mov edx, 0xc
mov r9d, 0x867c57a5
call fcn.140191810
mov rax, qword [rbp - 0x20]
mov qword [rax], rsi
mov rax, qword [rbp - 0x20]
mov qword [rsi + 8], rax
mov qword [rbp - 0x20], rsi
mov rax, qword [rdi]
inc rax
mov qword [rdi], rax
mov r14, qword [r14]
cmp r14, rbx
jne 0x140190050
test rax, rax
je 0x1401904f9
nop
mov r10, qword [rbp + 0x2d0]
mov rcx, qword [r10]
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov r9, qword [rcx + 8]
mov qword [r8 + 8], r9
mov qword [r9], r8
mov qword [rdx], rcx
mov qword [rcx + 8], rdx
add qword [r10 + 8], rax
xor r13d, r13d
jmp 0x14019130f
cmp edi, 7
jbe 0x1401902a8
mov eax, esi
mov qword [rsp + 0x48], rbx
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x38], 0xbc5db038
call fcn.140183c20
mov r13, rax
and r13d, 1
jmp 0x14019130f
nop
mov qword [rbp - 0x30], r14
lea rdi, [rbp - 0x28]
mov qword [rbp - 0x28], 0
cmp rsi, r12
je 0x1401903f7
mov ecx, 0x20
call fcn.1400954c0
mov rbx, rax
lea r8, [rsi + 0x10]
mov rcx, rax
add rcx, 0x10
mov edx, 0xc
mov r9d, 0x867c57a5
call fcn.140191810
mov qword [rbp - 0x18], rbx
mov qword [rbp - 0x20], rbx
inc qword [rbp - 0x28]
mov rbx, qword [rsi]
cmp rbx, r12
je 0x140190448
nop
mov ecx, 0x20
call fcn.1400954c0
mov rsi, rax
lea r8, [rbx + 0x10]
mov rcx, rax
add rcx, 0x10
mov edx, 0xc
mov r9d, 0x867c57a5
call fcn.140191810
mov rax, qword [rbp - 0x20]
mov qword [rax], rsi
mov rax, qword [rbp - 0x20]
mov qword [rbp - 0x20], rsi
inc qword [rbp - 0x28]
mov qword [rsi + 8], rax
mov rbx, qword [rbx]
cmp rbx, r12
jne 0x140190160
jmp 0x140190448
nop
test byte [rsi + 0x12], 4
jne 0x1401903e0
nop
cmp dword [rsi + 0x14], 0
je 0x14019064b
nop
mov eax, dword [0x140725b58]
mov dword [rbp + 0x240], eax
mov rcx, qword [rsi + 0xb8]
mov dword [rsp + 0x38], 0x53fc1921
mov qword [rsp + 0x28], 0
xor r13d, r13d
mov r8, rsi
xor r9d, r9d
call fcn.140183c20
test al, 1
je 0x14019130f
lea rax, [rsi + 0x10]
mov qword [rbp + 0x200], rax
lea rax, [rsi + 0x2d8]
mov qword [rbp + 0x230], rax
mov rax, qword [rbp + 0x2d0]
mov edx, eax
mov r13, qword [rsi + 0x2d8]
add r13, rdx
mov eax, dword [rbp + 0x248]
mov dword [rbx], eax
movsxd rax, r13d
mov rcx, qword [rsi + 0xb8]
mov qword [rbp + 0x250], rcx
cmp rax, rcx
jae 0x140190799
nop
mov rcx, qword [rsi + 0xb0]
add rcx, qword [rsi + 0x2d8]
mov r8, r14
mov r9d, 0x867c57a5
call fcn.140191810
test dword [rbp + 0x258], 0x200
je 0x140190e42
lea r13, [rbp + 0x188]
mov al, 1
mov dword [rbp + 0x244], eax
lea rcx, [rbp + 0x218]
mov eax, 4
mov qword [rbp + 0x250], rax
lea rax, [rbp - 0x30]
xor edx, edx
mov r15, rcx
jmp 0x140191036
nop
mov rax, qword [rsi + 0x2d0]
test rax, rax
je 0x1401905ab
nop
mov rcx, qword [rsi + 0x2d8]
mov r8, rax
sub r8, rcx
jge 0x1401905ea
nop
mov dword [r14], 0
cmp qword [0x1407925f0], 0
jne 0x140190308
mov ecx, 0x900
call fcn.1400954c0
nop
mov qword [rbp + 0x258], rax
mov rcx, rax
call fcn.1400960c0
nop
mov rax, qword [rbp + 0x258]
mov qword [0x1407925f0], rax
nop
mov rax, qword [0x1407925f0]
mov rax, qword [rax + 0x6f8]
mov ecx, 0x26
call qword [0x140704440]
mov r13d, 1
jmp 0x14019130f
lea rcx, [rbp - 0x30]
mov edx, 0x178
mov r8, rsi
mov r9d, 0x867c57a5
call fcn.140191810
nop
mov rcx, qword [rbp + 0x2d0]
call fcn.140095920
lea rcx, [rbp - 0x30]
call fcn.1400958f0
nop
mov rcx, qword [rbp + 0x2d0]
call fcn.140095900
test eax, eax
jne 0x1401912cf
lea r8, [rbp - 0x30]
mov edx, 0x178
mov rcx, rsi
mov r9d, 0x867c57a5
call fcn.140191810
nop
mov r13, qword [rbp + 0x2d0]
mov rcx, r13
call fcn.140095920
jmp 0x14019130f
nop
mov rax, qword [r14 + 8]
mov qword [rax], rdi
mov qword [rdi + 8], rax
xor r12d, r12d
nop word [rax + rax]
nop
mov rsi, qword [r14]
mov edx, 0x20
mov rcx, r14
call fcn.140095520
inc r12
cmp rsi, rdi
mov r14, rsi
jne 0x1401903b0
nop
mov rax, qword [rbp + 0x2d0]
sub qword [rax + 8], r12
xor r13d, r13d
jmp 0x14019130f
mov ecx, 5
mov edx, 0x3294e92f
call fcn.14017eef0
xor r13d, r13d
jmp 0x14019130f
lea rax, [rbp + 0x1c0]
lea rcx, [rbp + 0x188]
mov qword [rbp + 0x220], rcx
lea rcx, [rbp + 0x218]
mov qword [rbp + 0x208], rcx
mov qword [rbp + 0x230], rax
mov qword [rbp + 0x200], rax
mov eax, dword [rbp + 0x248]
mov dword [rbp + 0x240], eax
mov qword [rbp + 0x210], rdi
test byte [rbp + 0x258], 0x10
je 0x140190d1b
mov ecx, 0x20
call fcn.1400954c0
nop
mov rcx, qword [rdi]
mov qword [rdi], 0
test rcx, rcx
je 0x14019052e
nop
mov rdx, qword [rbp - 0x20]
mov r8, qword [rbp - 0x18]
mov qword [rax], r8
mov qword [rax + 8], rdx
mov qword [r8 + 8], rax
test byte [rbp + 0x258], 0x40
je 0x140190539
nop
mov dword [r14], 0
cmp qword [0x1407925f0], 0
jne 0x1401904cf
cmp byte [rbp + 0x258], 0
js 0x1401912d5
mov ecx, 0x900
call fcn.1400954c0
nop
mov qword [rbp + 0x258], rax
mov rcx, rax
call fcn.1400960c0
nop
mov rax, qword [rbp + 0x258]
mov qword [0x1407925f0], rax
nop
mov rax, qword [0x1407925f0]
mov rax, qword [rax + 0x6f8]
mov ecx, 8
call qword [0x140704440]
xor r13d, r13d
jmp 0x14019130f
xor r13d, r13d
jmp 0x14019130f
nop
cmp qword [rdi], 0
je 0x1401900ce
nop
mov rax, qword [rbp - 0x18]
mov qword [rax + 8], 0
mov rax, qword [rbp - 0x20]
mov qword [rax], 0
mov rcx, qword [rbp - 0x18]
test rcx, rcx
jne 0x1401912e6
jmp 0x1401900ce
nop
mov qword [rax], rax
mov rdx, rax
add rdx, 8
nop
mov qword [rdx], rax
mov qword [r14 + 8], rcx
mov qword [r14], rax
cmp qword [rdi], 0
je 0x14019130c
nop
mov rax, qword [rbp - 0x18]
mov qword [rax + 8], 0
mov rax, qword [rbp - 0x20]
mov qword [rax], 0
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14019130c
test byte [rbp + 0x258], 0x20
je 0x1401903cc
xor esi, esi
nop word cs:[rax + rax]
nop
mov rdi, qword [rcx]
mov edx, 0x20
call fcn.140095520
test rdi, rdi
mov rcx, rdi
jne 0x140190590
jmp 0x1401912fd
test byte [rbp + 0x258], 0x20
jne 0x140191110
nop
cmp qword [0x1407925f0], 0
je 0x14019083a
mov ecx, dword [rbp + 0x258]
mov eax, ecx
sar eax, 5
mov qword [rbp + 0x250], rax
test ecx, 0x1000
je 0x140190863
jmp 0x1401910e5
mov edx, r12d
add rcx, rdx
cmp rcx, rax
cmovl r8, r12
mov dword [r14], r8d
mov eax, dword [rsi + 0x2f8]
test al, 4
jne 0x140190752
nop
mov qword [rbp + 0x250], r8
test al, 1
jne 0x14019088c
nop
mov ecx, dword [rbp + 0x250]
mov rax, qword [rsi + 0x2d8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x38], 0x53fc1921
mov r8, rsi
xor r9d, r9d
call fcn.140183c20
test al, 1
je 0x140190487
jmp 0x14019095f
nop
mov rax, qword [rbp + 0x2d0]
mov eax, eax
add qword [rsi + 0x2d8], rax
mov eax, dword [rbp + 0x248]
mov dword [rbx], eax
or byte [rsi + 0x10], 0x10
mov r13d, 1
jmp 0x14019130f
nop
mov rax, qword [rbx]
cmp rax, 0x1000
cdqe
mov edx, 0x1000
cmovl rdx, rax
lea rcx, [rsi + 0xa8]
call fcn.140103490
nop
mov r8, qword [rbx]
lea rax, [r8 + 0xfff]
add r8, 0x1ffe
test rax, rax
cmovns r8, rax
sar r8, 0xc
cmp qword [rsi + 0x100], r8
jae 0x140190745
lea rcx, [rsi + 0xe8]
mov rbx, qword [rsi + 0xf8]
test rbx, rbx
je 0x1401909a4
nop
mov rdi, qword [rsi + 0xf0]
xorps xmm0, xmm0
movups xmmword [rsi + 0xf0], xmm0
mov qword [rsi + 0x100], 0
mov byte [rsi + 0x108], 1
xor edx, edx
call fcn.14017df90
test rdi, rdi
je 0x1401909ab
lea rax, [rsi + 0xf0]
mov rcx, qword [rax]
mov rdx, rbx
shl rdx, 4
add rdx, rbx
mov r8, rdi
mov r9d, 0x867c57a5
call fcn.140191810
mov rdx, qword [rbp + 0x250]
xor edx, 0xe7b2435
mov rcx, rdi
call fcn.140095520
jmp 0x1401909ab
nop
mov qword [rsi + 0xf8], r8
jmp 0x1401909ab
mov ecx, r8d
mov rax, qword [rsi + 0x2d8]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x38], 0x53fc1921
mov r8, rsi
mov r9, qword [rbp + 0x2d0]
call fcn.140183c20
test al, 1
je 0x140190487
add rsi, 0x2d8
nop
mov eax, dword [r14]
add qword [rsi], rax
mov r13d, 1
jmp 0x14019130f
nop
mov qword [rbp + 0x228], rdx
lea rax, [0x1405e9178]
mov qword [rbp + 0x148], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x150], xmm0
mov qword [rbp + 0x160], 0
mov byte [rbp + 0x168], 1
mov dword [rbp + 0x16c], 1
movups xmmword [rbp + 0x170], xmm0
mov qword [rbp + 0x180], 0
test r13, r13
je 0x140190aac
mov rcx, r13
call fcn.140095bc0
nop
mov qword [rbp + 0x160], r13
mov qword [rbp + 0x158], r13
mov r15, rax
mov rcx, rax
xor edx, edx
mov r8, r13
call fcn.1405c44a0
jmp 0x140190aaf
test byte [rbp + 0x258], 0x10
jne 0x140191110
lea r14, [rbp - 0x30]
lea rbx, [rbp - 0x30]
lea r15, [rbp - 0x30]
jmp 0x14018ff44
mov ecx, 0x900
call fcn.1400954c0
nop
mov qword [rbp + 0x258], rax
mov rcx, rax
call fcn.1400960c0
nop
mov rax, qword [rbp + 0x258]
mov qword [0x1407925f0], rax
nop
mov rax, qword [0x1407925f0]
mov rax, qword [rax + 0x6f8]
mov ecx, 0x26
call qword [0x140704440]
mov dword [r14], 0
xor r13d, r13d
jmp 0x14019130f
nop
mov rcx, qword [rsi + 0x2d0]
mov dword [rsp + 0x38], 0x53fc1921
mov qword [rsp + 0x28], 0
mov r8, rsi
xor r9d, r9d
call fcn.140183c20
test al, 1
jne 0x14019095f
test dword [rbp + 0x258], 0x100
jne 0x140190487
lea r15, [rbp + 0x148]
lea rax, [rbp - 0x30]
mov qword [rbp + 0x238], rax
mov dword [rbp + 0x244], 0
nop
mov qword [rbp + 0x218], 0
mov r12d, dword [rbx + 0x60]
test r12, r12
lea rax, [0x1405e9178]
mov qword [rbp - 0x30], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], 0
mov byte [rbp - 0x10], 1
mov dword [rbp - 0xc], 1
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], 0
je 0x140191025
mov rcx, r12
call fcn.140095bc0
nop
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x20], r12
mov rcx, rax
mov qword [rbp + 0x248], rax
xor edx, edx
mov r8, r12
call fcn.1405c44a0
mov rdx, qword [rbp + 0x248]
jmp 0x140191027
nop
mov r8, qword [rsi + 0xb8]
test r8, r8
je 0x140190973
mov r8, qword [rsi + 0xb0]
add r8, qword [rsi + 0x2d8]
mov edx, dword [r14]
mov rcx, qword [rbp + 0x2d0]
mov r9d, 0x867c57a5
call fcn.140191810
mov eax, dword [r14]
add qword [rsi + 0x2d8], rax
mov r13d, 1
jmp 0x14019130f
xor edx, edx
call fcn.14017df90
nop
mov rdx, qword [rsi + 0xb8]
cmp rdx, 0x1000
mov r8d, 0x1000
cmovb r8, rdx
mov rax, qword [r14 + 0x5b8]
test rdx, rdx
je 0x1401909d7
mov rdx, qword [rsi + 0xb0]
mov rcx, qword [r15]
mov qword [rsp + 0x20], 0
lea r9, [rbp - 0x30]
call qword [0x140704440]
test eax, eax
je 0x140190a07
nop
mov rax, qword [rsi + 0xf0]
mov byte [rax], 1
mov r13d, 1
jmp 0x140191245
nop
or byte [rsi + 0x10], 0x20
lea r14, [rsi + 0x308]
cmp qword [rsi + 0x320], 0x10
mov rax, r14
jb 0x140190a27
mov rax, qword [rsi + 0x308]
lea rcx, [rsi + 0x318]
mov qword [rbp + 0x258], rcx
mov qword [rsi + 0x318], 0
add rsi, 0x320
mov byte [rax], 0
lea rdi, [rbp + 0x190]
lea rbx, [rbp + 0x1a0]
lea rax, [rbp + 0x1a8]
mov qword [rbp + 0x248], rax
mov qword [rbp + 0x1a0], 0
mov qword [rbp + 0x1a8], 0xf
mov byte [rbp + 0x190], 0
movzx eax, byte [0x140722fb0]
cmp al, 0xaa
je 0x140190aa4
mov cl, 0xba
mov al, 0x79
lock cmpxchg byte [0x140722fb0], cl
je 0x140190f8f
cmp al, 0xaa
jne 0x140190a90
xor r15d, r15d
jmp 0x140191168
xor r15d, r15d
lea rax, [rsi + 0xa8]
mov qword [rbp + 0x220], rax
mov qword [rbp + 0x150], r15
lea rax, case.0x140359a05.38
mov qword [rbp + 0x148], rax
mov r13, qword [rbp + 0x158]
test r13, r13
sete al
mov dword [rbp + 0x244], eax
cmove r15, r13
mov rax, qword [rbp + 0x250]
mov r8, rax
test rax, rax
je 0x140190aff
mov r8, qword [rsi + 0xb0]
mov rcx, r15
mov rdx, qword [rbp + 0x250]
mov r9d, 0x867c57a5
call fcn.140191810
mov rcx, qword [rsi + 0x2d8]
add rcx, r15
mov rdx, qword [rbp + 0x228]
mov r8, r14
mov r9d, 0x867c57a5
call fcn.140191810
nop
mov rax, qword [rbp + 0x220]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
mov rcx, r13
mov edx, 0x30e4f9bc
call fcn.14017eef0
nop
movsxd rax, dword [rsi + 0xb8]
lea rcx, [rsi + 0x2d0]
mov qword [rbp + 0x220], rcx
mov qword [rsi + 0x2d0], rax
lea rcx, [rsi + 0xe8]
lea rax, [0x1405edb20]
mov qword [rbp + 0x1c0], rax
lea rax, [rbp + 0x1c8]
mov qword [rbp + 0x208], rax
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c8], xmm0
mov qword [rbp + 0x1d8], 0
mov byte [rbp + 0x1e0], 1
mov dword [rbp + 0x1e4], 1
movups xmmword [rbp + 0x1e8], xmm0
mov qword [rbp + 0x1f8], 0
lea rax, [rbp + 0x1c0]
mov qword [rbp + 0x210], rcx
cmp rcx, rax
je 0x140190d1b
nop
mov rax, qword [rsi + 0xf0]
mov qword [rbp + 0x250], rax
mov r15, qword [rsi + 0xf8]
mov rcx, qword [rbp + 0x1c8]
test rcx, rcx
je 0x140190c3a
nop
mov rax, qword [rbp + 0x1d0]
mov r8, rax
shl r8, 4
add r8, rax
xor edx, edx
call fcn.1405c44a0
mov rcx, qword [rbp + 0x1c8]
test rcx, rcx
je 0x140190c3a
nop
mov edx, dword [rbp + 0x240]
xor edx, 0x26bd98c0
call fcn.140095520
lea r13, [rbp + 0x1e8]
test r15, r15
xorps xmm0, xmm0
lea rax, [rbp + 0x1c8]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov byte [rbp + 0x1e0], 1
je 0x140190cc2
mov ecx, 0x11
mov rax, r15
mul rcx
mov rcx, 0xffffffffffffffff
cmovno rcx, rax
mov qword [rbp + 0x1b0], r13
call fcn.140095bc0
nop
mov qword [rbp + 0x1c8], rax
mov qword [rbp + 0x1d8], r15
mov qword [rbp + 0x1d0], r15
mov r8, qword [rbp + 0x250]
test r8, r8
je 0x14019124a
mov rdx, r15
shl rdx, 4
add rdx, r15
mov rcx, rax
mov r9d, 0x867c57a5
call fcn.140191810
mov r15, r13
mov r13, qword [r13]
cmp r13, qword [rbp + 0x1f0]
je 0x140190d1b
lea rdi, [rbp + 0x1c0]
jmp 0x140190cf1
add r13, 8
cmp r13, qword [rbp + 0x1f0]
je 0x14019043b
nop
mov rcx, qword [r13]
test rcx, rcx
je 0x140190ce0
nop
mov rax, qword [rcx]
mov rax, qword [rax + 8]
mov r8, qword [0x140704440]
mov qword [rbp + 0x1b0], r15
mov edx, 1
call r8
jmp 0x140190ce0
lea rax, [0x1405eda68]
mov qword [rbp + 0x1c0], rax
mov rax, qword [rbp + 0x220]
mov r8, qword [rax]
lea rax, [r8 + 0xfff]
add r8, 0x1ffe
test rax, rax
cmovns r8, rax
sar r8, 0xc
cmp qword [rsi + 0x100], r8
jae 0x140190de4
nop
mov r14, qword [rsi + 0xf8]
test r14, r14
je 0x140190f62
nop
mov rdi, qword [rsi + 0xf0]
xorps xmm0, xmm0
movups xmmword [rsi + 0xf0], xmm0
mov qword [rsi + 0x100], 0
mov byte [rsi + 0x108], 1
nop
mov rcx, qword [rbp + 0x210]
xor edx, edx
call fcn.14017df90
test rdi, rdi
je 0x140190dec
nop
test byte [0x1407904a1], 1
jne 0x140190dec
lea rax, [rsi + 0xf0]
mov rcx, qword [rax]
mov rdx, r14
shl rdx, 4
add rdx, r14
mov r8, rdi
mov r9d, 0x867c57a5
call fcn.140191810
mov edx, dword [rbp + 0x240]
xor edx, 0x26bd98c0
mov rcx, rdi
call fcn.140095520
jmp 0x140190dec
nop
mov qword [rsi + 0xf8], r8
nop
mov rcx, qword [rsi + 0xf8]
test rcx, rcx
je 0x140190e00
mov rcx, qword [rsi + 0xf0]
mov rdx, qword [rbp + 0x1d0]
mov r8, rdx
test rdx, rdx
je 0x140190e19
mov rax, qword [rbp + 0x208]
mov r8, qword [rax]
mov r9d, 0x867c57a5
call fcn.140191810
lea rcx, [rbp + 0x1c0]
mov r9d, 0x6fcff849
call fcn.140181290
lea rcx, [rbp + 0x148]
call fcn.140095f50
nop
mov rax, qword [rbp + 0x230]
mov rcx, qword [rax]
lea rax, [rcx + 0xfff]
test rcx, rcx
cmovns rax, rcx
sar rax, 0xc
mov edx, dword [rbx]
lea r8, [rcx + rdx]
add r8, 0xfff
add rdx, rcx
add rdx, 0x1ffe
test r8, r8
cmovns rdx, r8
sar rdx, 0xc
cmp eax, edx
jge 0x140190f36
movsxd rcx, eax
movsxd rax, edx
mov r8d, eax
sub r8d, ecx
lea rdx, [rcx + 1]
test r8b, 1
je 0x140190ed1
xor r8d, r8d
cmp qword [rsi + 0xf8], rcx
mov r9, qword [rsi + 0xf0]
cmova r8, rcx
cmp byte [0x1407901d2], 0
cmovne r8, rcx
mov rcx, r8
shl rcx, 4
add rcx, r8
mov byte [r9 + rcx], 1
mov rcx, rdx
cmp rax, rdx
je 0x140190f36
xor edx, edx
nop dword [rax + rax]
nop
cmp qword [rsi + 0xf8], rcx
mov r8d, 0
cmova r8, rcx
mov r9, qword [rsi + 0xf0]
mov r10, r8
shl r10, 4
add r10, r8
mov byte [r9 + r10], 1
lea r8, [rcx + 1]
cmp qword [rsi + 0xf8], r8
cmovbe r8, rdx
mov r9, qword [rsi + 0xf0]
mov r10, r8
shl r10, 4
add r10, r8
mov byte [r9 + r10], 1
add rcx, 2
cmp rcx, rax
jne 0x140190ee0
nop
mov eax, dword [rbx]
mov rcx, qword [rbp + 0x230]
add qword [rcx], rax
mov dword [0x140725b70], 0xbf418ac7
mov rax, qword [rbp + 0x200]
or byte [rax], 0x10
mov r13d, 1
jmp 0x14019130f
test byte [rbp + 0x258], 0x40
jne 0x140190f7f
nop
mov rcx, qword [rbp + 0x210]
xor edx, edx
call fcn.14017df90
jmp 0x140190dec
lea rsi, [rbp + 0x1c0]
lea rdi, [rbp - 0x30]
jmp 0x14019000d
mov eax, 0x13b18f7
mov ecx, 0xfec4e736
mov edx, 1
mov r8d, 0x13b18f8
mov r9d, 0xfec4e734
mov r10d, 0xb21642c9
lea r11, [0x140722f80]
lea r13, [0x1405ed6c0]
mov r12d, ecx
imul r12, r10
shr r12, 0x25
imul r12d, r12d, 0x2e
add r12d, eax
mov r15d, r9d
imul r15, r10
shr r15, 0x25
imul r15d, r15d, 0x2e
add r15d, r8d
movzx r15d, byte [r15 + r13]
xor r15b, 0x83
add byte [rdx + r11 - 1], r15b
movzx r15d, byte [r12 + r13]
xor r15b, 0x83
add byte [rdx + r11], r15b
add eax, 0xfffffffe
add ecx, 2
add rdx, 2
add r8d, 0xfffffffe
add r9d, 2
cmp rdx, 0x31
jne 0x140190fbe
mov al, 0xaa
xchg byte [0x140722fb0], al
xor r15d, r15d
jmp 0x140191168
xor edx, edx
mov r13, qword [rbp + 0x238]
lea rcx, [rbp - 0x20]
lea rax, [rbp - 0x28]
nop
mov qword [rax], rdx
lea rax, case.0x140359a05.38
mov qword [rbp - 0x30], rax
mov rax, qword [r13]
mov r8, qword [rcx]
test r8, r8
cmove rdx, r8
mov rcx, qword [r15]
mov r10, qword [0x140704440]
nop
mov qword [rsp + 0x20], 0
lea r9, [rbp + 0x218]
call r10
test eax, eax
je 0x1401910dc
lea rdx, [rbp - 0x30]
mov rcx, rbx
call fcn.140171e80
test al, al
je 0x1401910e5
test byte [rbp + 0x258], 0x40
jne 0x140191138
mov rcx, rbx
call fcn.14017d920
test al, al
je 0x14019128a
nop
or byte [rbx + 0x10], 2
mov rcx, qword [0x140723758]
mov eax, dword [0x14072374c]
mov rdx, qword [rbp + 0x250]
add eax, edx
add eax, 0xc745
cdqe
add rax, rcx
lea rcx, [rbp - 0x30]
call qword [0x140704440]
mov r13d, 1
jmp 0x14019130f
cmp byte [rbp + 0x258], 0
js 0x140191118
nop
mov rcx, qword [0x140723758]
mov eax, dword [0x14072374c]
mov rdx, qword [rbp + 0x250]
add eax, edx
add eax, 0xc745
cdqe
add rax, rcx
lea rcx, [rbp - 0x30]
call qword [0x140704440]
xor r13d, r13d
jmp 0x14019130f
lea r15, [rbp + 0x1c0]
lea rbx, [rbp + 0x188]
lea r14, [rbp - 0x30]
mov eax, edi
mov qword [rbp + 0x250], rax
jmp 0x140190694
lea r14, [rbp + 0x1c0]
lea rax, [rbp + 0x148]
lea rsi, [rbp + 0x188]
mov rdi, rax
mov rbx, rax
mov qword [rbp + 0x258], rax
mov qword [rbp + 0x248], r14
mov r15d, dword [rbp + 0x244]
lea r9, [0x140722f80]
mov edx, 0x2f
mov rcx, rdi
call fcn.14008c3c0
lea rax, [0x1405e7948]
mov qword [rbp + 0x188], rax
mov rcx, qword [rbx]
mov rbx, qword [rbp + 0x248]
cmp qword [rbx], 0x10
mov r8, rdi
jb 0x1401911a0
mov r8, qword [rdi]
mov r10, qword [rbp + 0x258]
mov rdx, qword [r10]
mov rax, qword [rsi]
mov r9, rax
sub r9, rdx
cmp r9, rcx
jae 0x1401911de
nop
mov qword [rsp + 0x48], rcx
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x38], 0xf7f8d036
xor ecx, ecx
call fcn.140183c20
jmp 0x140191201
lea rsi, [rdx + rcx]
mov qword [r10], rsi
cmp rax, 0x10
jb 0x1401911ee
mov r14, qword [r14]
add rdx, r14
mov r9d, 0x7d998833
call fcn.140191810
mov byte [r14 + rsi], 0
nop
mov rax, qword [rbx]
cmp rax, 0x10
jb 0x140191241
nop
mov rcx, qword [rdi]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14019123c
nop
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x1401912e1
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.140095520
movzx r13d, r15b
jmp 0x14019130f
nop
mov ecx, dword [rbp + 0x1e4]
mov qword [rbp + 0x250], rcx
cmp ecx, 1
jne 0x1401912a1
mov r8, r15
shl r8, 4
add r8, r15
mov rcx, rax
xor edx, edx
call fcn.1405c44a0
test dword [rbp + 0x258], 0x800
jne 0x140190cc2
lea rsi, [rbp - 0x30]
jmp 0x140190787
mov ecx, dword [rbp + 0x258]
test ecx, 0x1000
je 0x140190863
jmp 0x1401910e5
lea rax, [rbp - 0x30]
mov qword [rbp + 0x238], rax
lea r15, [rbp + 0x148]
mov qword [rbp + 0x1b8], rax
test dword [rbp + 0x258], 0x400
je 0x14018fda7
jmp 0x140190cc2
mov dword [rbp + 0x248], eax
nop
mov ecx, dword [rbp + 0x248]
call fcn.140095910
call fcn.1400954e0
nop
mov rsi, qword [rcx]
mov edx, 0x20
call fcn.140095520
test rsi, rsi
je 0x1401900ce
mov rcx, rsi
test dword [rbp + 0x258], 0x100
jne 0x1401912e6
xor r13d, r13d
mov rax, r13
add rsp, 0x2e8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret