Function at 0x140176130
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x2f8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x270], 0xfffffffffffffffe
mov rsi, rdx
mov rdi, rcx
cmp qword [0x14058ece8], 0
jne 0x1401761ce
mov eax, 0xffffd659
add eax, dword [0x14052e444]
cdqe
add rax, qword [0x14052e468]
mov ecx, 0xe8
mov edx, 0x7820424b
mov r8d, 0x1a6bd44e
call qword [case.0x1401460cb.0]
lea rcx, [0x14044c868]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
mov byte [rax + 0x18], 0
lea rcx, [0x14044c8c8]
mov qword [rax + 0x10], rcx
mov dword [rax + 8], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x14058ece8], rax
mov rax, qword [0x14058ece8]
mov rbx, qword [rax + 0x38]
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], 0x7fffffff
mov byte [rbp - 0x10], 1
lea r14, [0x14044e4d8]
mov qword [rbp - 0x28], r14
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov rcx, rbx
call fcn.140256740
movsxd rax, dword [rax + 0x3c]
mov rcx, qword [0x14058ede8]
mov rdx, rcx
xor rdx, rax
not rcx
not rax
and rax, rcx
or rax, rdx
not rax
lea rax, [rdx + rax*2]
lea rcx, [rax + rbx]
xor edx, edx
cmp dword [rbx + rax], 0x4550
cmove rdx, rcx
mov r15d, dword [rdx + 0xd8]
mov eax, 0xb1908313
add eax, dword [0x14052e988]
mov dword [0x14058ee70], eax
test r15, r15
je 0x14017628b
add r15, qword [0x14058ee78]
cmp dword [rbx + r15], 0x71
jb 0x14017628b
mov r8, qword [rbx + r15 + 0x70]
lea rdx, [0x14050e3e8]
mov rcx, rbx
call fcn.14017bb90
mov r8, qword [rbx + r15 + 0x78]
lea rdx, case.0x1401460cb.0
mov rcx, rbx
call fcn.14017bb90
mov qword [rbp - 0x28], r14
mov rbx, qword [rbp]
test rbx, rbx
setne al
sete dl
movzx ecx, byte [0x14058ee88]
mov r8d, ecx
xor r8b, 1
mov r9d, ecx
xor r9b, dl
mov r10d, r8d
and r10b, al
or r10b, r9b
je 0x1401762fe
and r8b, dl
jne 0x1401762fe
and cl, al
jne 0x1401762fe
mov eax, 0x4e6f7cec
sub eax, dword [0x14052e988]
lock xadd dword [rbx + 8], eax
cmp eax, 1
jne 0x1401762fe
mov rax, qword [rbx]
mov rax, qword [rax]
mov rcx, rbx
call qword [case.0x1401460cb.0]
lock dec dword [rbx + 0xc]
jne 0x1401762fe
mov rax, qword [rbx]
mov rax, qword [rax + 8]
mov rcx, rbx
call qword [case.0x1401460cb.0]
mov eax, dword [rsi + 0xc134]
mov ecx, dword [rsi]
movups xmm0, xmmword [rsi + 0xc124]
or dword [rdi + 0x164], ecx
movups xmmword [rdi + 0x168], xmm0
mov dword [rdi + 0x178], eax
mov eax, dword [rdi + 0x160]
or eax, dword [rsi + 0xc114]
mov dword [rdi + 0x160], eax
lea rbx, [rsi + 0x40]
shr eax, 0x1f
lea r14, [rdi + 0x50]
mov byte [rdi + 0x58], al
movups xmm0, xmmword [rsi + 0x40]
movups xmm1, xmmword [rsi + 0x50]
movups xmm2, xmmword [rsi + 0x60]
movups xmm3, xmmword [rsi + 0x70]
movups xmmword [rdi + 0x59], xmm0
movups xmmword [rdi + 0x69], xmm1
movups xmmword [rdi + 0x79], xmm2
movups xmmword [rdi + 0x89], xmm3
mov r15d, 0xffffd659
mov eax, dword [0x14052e43c]
add eax, r15d
cdqe
add rax, qword [0x14052e4a0]
mov rcx, r14
mov rdx, rbx
mov r8d, 0xa6cc4f
mov r9d, 0x303db01d
call qword [case.0x1401460cb.0]
mov eax, dword [0x14052e440]
add eax, r15d
cdqe
add rax, qword [0x14052e490]
mov rcx, r14
mov rdx, rbx
mov r8d, 0x3787e623
mov r9d, 0x23275d95
call qword [case.0x1401460cb.0]
xorps xmm0, xmm0
movaps xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], 0
call fcn.1400b1e30
mov r14, rax
lea rdx, [rbp + 0x1e0]
mov rcx, rax
call fcn.140177810
cmp qword [0x14058ed10], 0
jne 0x14017641a
mov ecx, 0x160
call fcn.140408a7c
mov qword [rbp + 0x260], rax
mov rcx, rax
call fcn.1401436b0
mov rax, qword [rbp + 0x260]
mov qword [0x14058ed10], rax
mov rcx, qword [0x14058ed10]
mov r9, qword [rdi + 0x190]
mov edx, dword [rdi + 0x160]
movsxd r15, dword [0x140450f90]
mov r12d, dword [0x14045103c]
shr edx, 0x10
and edx, 1
mov qword [rbp + 0x260], rcx
mov r8, rsi
call fcn.140143ec0
lea rcx, [rbp - 0x28]
mov r8d, 0x200
xor edx, edx
call fcn.140430d20
mov edx, dword [rsi]
mov rcx, rdi
call fcn.1400b1af0
test al, al
je 0x140177263
lea rax, [rsi + 0xc124]
mov qword [rbp + 0x1d8], rax
lea rax, [0x140450f90]
add r15, rax
mov r13d, dword [0x14052e188]
mov dword [rbp + 0x25c], r13d
not r13d
mov eax, dword [0x14058ee70]
neg r13d
mov eax, 0xb1908314
lea rcx, [fcn.140176130]
add ecx, ecx
add ecx, 0x1e40
nop word [rax + rax]
mov edx, dword [0x14052e988]
add edx, eax
mov r8d, ecx
xor r8d, edx
not r8d
test r8d, edx
jne 0x1401764c0
mov dword [0x14052e188], r13d
mov eax, dword [0x14058ee70]
test dword [rbp + 0x25c], r13d
je 0x1401764f3
xor ebx, ebx
jmp 0x140177350
mov eax, dword [0x14058ee70]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14017731e
jmp 0x140177313
lea rdx, [rbp - 0x28]
mov rcx, qword [rbp + 0x260]
call fcn.140146100
test al, al
je 0x1401765c5
mov r15, qword [rdi + 0x108]
mov eax, dword [rbp - 0x24]
test al, 1
je 0x14017653a
mov ecx, dword [rbp - 0x20]
mov dword [r15 + 8], ecx
mov ecx, eax
not ecx
mov edx, eax
xor edx, 2
and ecx, 0xfffffffd
or ecx, edx
mov edx, dword [0x14052e988]
lea r8d, [rdx - 0x4e6f7cee]
xor r8d, ecx
add edx, 0xb1908313
cmp r8d, edx
jne 0x14017656d
test al, 4
jne 0x140176589
test al, 8
jne 0x140176594
jmp 0x1401765a1
movzx ecx, word [rbp - 0x1a]
mov word [r15 + 0xc], cx
mov ecx, dword [rbp - 0x18]
mov dword [r15 + 0x10], ecx
mov byte [r15 + 0x90], 1
test al, 4
je 0x140176567
mov ecx, dword [rbp - 0x14]
mov dword [r15 + 0x14], ecx
test al, 8
je 0x1401765a1
lea rdx, [rbp - 0x10]
lea rcx, [r15 + 0x18]
call fcn.140270ab0
mov eax, dword [rbp - 0x24]
mov ecx, eax
not ecx
xor eax, 0x10
and ecx, 0xffffffef
or ecx, eax
cmp ecx, 0xffffffff
je 0x1401765c5
lea rdx, [rbp + 0x70]
add r15, 0x68
mov rcx, r15
call fcn.140270ab0
mov eax, dword [rdi + 0x160]
mov ecx, eax
not ecx
xor eax, 0x400000
and ecx, 0xffbfffff
or ecx, eax
cmp ecx, 0xffffffff
je 0x1401765ef
mov rax, qword [rdi + 0x108]
mov byte [rax + 0x90], 1
mov rcx, rdi
mov rdx, rsi
call fcn.14011fb70
test al, al
je 0x140177263
mov rax, qword [rdi + 0x108]
mov qword [rax + 0x3c0], 0x3e8
lea rdx, [rbp + 0x1e0]
mov rcx, r14
call fcn.1401778d0
mov eax, dword [rdi + 0x160]
mov ecx, dword [0x14052e988]
lea edx, [rcx - 0x4e6f7cec]
add ecx, 0xb1908312
xor ecx, edx
mov edx, eax
not edx
mov r8d, edx
xor r8d, eax
and r8d, ecx
xor r8d, eax
mov ecx, r8d
not ecx
xor r8d, eax
and ecx, edx
or ecx, r8d
cmp ecx, 0xffffffff
je 0x1401767cb
mov edx, dword [rsi + 0x38]
mov rcx, rdi
xor r8d, r8d
call fcn.1400b2000
test al, al
je 0x140177263
mov r15d, dword [rsi + 0xc138]
mov rcx, rdi
call fcn.14017bce0
mov r14, rax
mov r12d, dword [rdi + 0x118]
mov dword [rax + 0x87c], r15d
lea rcx, [rax + 0x840]
mov r15, qword [rax + 0x840]
mov eax, 0xffffd659
add eax, dword [0x14052e448]
mov r8, qword [r15 + 8]
cdqe
add rax, qword [0x14052e478]
mov rdx, rcx
call qword [case.0x1401460cb.0]
mov qword [r15 + 8], r15
mov qword [r15], r15
mov qword [r15 + 0x10], r15
mov qword [r14 + 0x848], 0
mov dword [r14 + 0x880], r12d
mov rcx, r14
call fcn.140071810
mov rcx, r14
mov rdx, rdi
call fcn.140072490
mov rcx, r14
add rcx, 8
call fcn.14017e500
mov rcx, r14
call fcn.140080cd0
xorps xmm0, xmm0
mov rax, qword [rbp + 0x1d8]
movups xmmword [rax], xmm0
mov qword [rax + 0x10], 0
mov rcx, rdi
call fcn.1400b28e0
test al, al
je 0x140177263
mov eax, dword [rsi + 0xc148]
mov rcx, qword [rsi + 0xc140]
mov qword [rdi + 0x184], rcx
mov dword [rdi + 0x18c], eax
mov byte [rbp + 0x26f], 0
mov eax, 0xb1908314
lea rcx, [fcn.140176130]
lea edx, [rcx + rcx]
add edx, 0x2a0
mov r11d, dword [rbp + 0x25c]
nop
mov ecx, dword [0x14058ee70]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
jne 0x1401767ae
xor r8d, r8d
test r11d, r13d
setne r9b
movzx ecx, word [0x140451040]
mov r10d, dword [0x14052e988]
add r10d, eax
xor r10d, edx
not r10d
test r10d, edx
je 0x140176be7
movzx ecx, word [0x140451040]
mov ecx, dword [0x14058ee70]
lea r8d, [rcx - 1]
imul r8d, ecx
test r8b, 1
jne 0x140176770
jmp 0x140176784
mov rcx, rdi
call fcn.14017bce0
mov rbx, rax
mov r14d, dword [rdi + 0x118]
mov dword [rax + 0x87c], 0
lea rcx, [rax + 0x840]
mov r15, qword [rax + 0x840]
mov eax, 0xffffd659
add eax, dword [0x14052e448]
mov r8, qword [r15 + 8]
cdqe
add rax, qword [0x14052e478]
mov rdx, rcx
call qword [case.0x1401460cb.0]
mov qword [r15 + 8], r15
mov qword [r15], r15
mov qword [r15 + 0x10], r15
mov qword [rbx + 0x848], 0
mov dword [rbx + 0x880], r14d
mov rcx, rbx
call fcn.140071810
mov rcx, rbx
mov rdx, rdi
call fcn.140072490
mov rcx, rbx
add rcx, 8
call fcn.14017e500
mov rcx, rbx
call fcn.140080cd0
cmp qword [0x14058ece8], 0
jne 0x1401768bc
mov ecx, 0xe8
call fcn.140408a7c
lea rcx, [0x14044c868]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0xf
mov byte [rax + 0x18], 0
lea rcx, [0x14044c8c8]
mov qword [rax + 0x10], rcx
mov byte [rax + 8], 0
movzx ecx, byte [0x14052e98c]
add cl, 0x64
mov byte [rax + 9], cl
mov word [rax + 0xa], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x14058ece8], rax
mov rax, qword [0x14058ece8]
mov rcx, qword [rax + 0x38]
lea rdx, [0x14058e7e2]
call fcn.140201340
mov eax, 0x100
and eax, dword [rdi + 0x164]
mov edx, eax
shr edx, 8
test eax, eax
sete al
mov r9d, dword [rdi + 0x160]
mov r8d, r9d
shr r8d, 0xd
and r8d, 1
and r8b, al
lea rbx, [rdi + 0x308]
mov rcx, qword [rdi + 0x190]
mov r10d, dword [0x14058e45e]
mov eax, r10d
and eax, 2
shr eax, 1
mov r15d, r10d
xor r15d, 0xfffffffe
mov r11d, r9d
not r11d
mov r14d, r9d
xor r14d, 8
and r11d, 0xfffffff7
or r11d, r14d
mov r14d, r9d
shr r14d, 0x17
and r14d, 1
mov r12d, r9d
shr r12d, 0x1d
and r12d, 1
mov r13d, r9d
and r13d, 4
shr r13d, 2
shr r9d, 0xc
and r9d, 1
test r15d, r10d
setne byte [rsp + 0x40]
cmp r11d, 0xffffffff
mov qword [rsp + 0x50], rcx
setne byte [rsp + 0x38]
mov byte [rsp + 0x48], al
mov byte [rsp + 0x30], r14b
mov byte [rsp + 0x28], r12b
mov byte [rsp + 0x20], r13b
mov rcx, rbx
call fcn.1401cf210
mov rcx, rdi
call fcn.140175610
test al, al
je 0x140177263
test dword [rdi + 0x160], 0x1000
je 0x140176a69
call fcn.140177e60
mov r14, rax
mov rax, qword [rsi + 0xc1bb]
mov qword [r14 + 0x40], rax
movups xmm0, xmmword [rsi + 0xc1ab]
movups xmmword [r14 + 0x30], xmm0
cmp qword [0x14058ece8], 0
jne 0x140176a3d
mov ecx, 0xe8
call fcn.140408a7c
lea rcx, [0x14044c868]
mov qword [rax], rcx
mov qword [rax + 0x28], 0
movabs rcx, 0x6beb9065485c4480
add rcx, qword [0x14052e980]
mov qword [rax + 0x30], rcx
mov byte [rax + 0x18], 0
lea rcx, [0x14044c8c8]
mov qword [rax + 0x10], rcx
movzx ecx, byte [0x14052e98c]
add cl, 0x64
mov byte [rax + 8], cl
mov byte [rax + 9], 0
mov word [rax + 0xa], 0
xorps xmm0, xmm0
movups xmmword [rax + 0x38], xmm0
mov qword [0x14058ece8], rax
mov rax, qword [0x14058ece8]
mov rax, qword [rax + 0x38]
movsxd rcx, dword [rax + 0x3c]
mov ecx, dword [rax + rcx + 0x98]
add rax, rcx
test rcx, rcx
cmove rax, rcx
mov qword [r14 + 0x18], rax
mov rcx, r14
call fcn.14017edb0
mov rax, qword [rdi + 0x108]
mov rcx, qword [rax + 0x3a8]
lea rdx, [rsi + 0xc1ab]
mov r8d, 0x18
call fcn.140156590
mov edx, dword [rdi + 0x160]
mov eax, edx
not eax
mov ecx, edx
xor ecx, 0x40000000
and eax, 0xbfffffff
or eax, ecx
not eax
mov ecx, dword [0x14052e988]
mov r8d, ecx
xor r8d, 0xb1908313
and ecx, 0x31908313
lea ecx, [r8 + rcx*2]
cmp eax, ecx
jne 0x140176ad8
shr edx, 0xc
and edx, 1
mov rcx, rbx
call fcn.1401e2e80
mov rcx, rbx
call fcn.1401e39b0
mov eax, dword [rdi + 0x160]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 1
and eax, 0xfffffffe
or eax, edx
and ecx, 0xfffffffe
or ecx, eax
cmp ecx, 0xffffffff
je 0x140176b16
mov rcx, rdi
call fcn.1400bac10
test al, al
je 0x140176c10
mov rcx, rdi
call fcn.1400bacf0
test al, al
je 0x140176d16
lea r9, [rsi + 0xc553]
mov rcx, qword [rdi + 0x108]
mov r8, qword [rdi + 0x198]
mov rdx, rsi
call fcn.140157fa0
test al, al
je 0x140176c86
mov r8d, dword [rsi + 0xc55f]
mov eax, 0xb1908313
add eax, dword [0x14052e988]
cmp r8d, eax
je 0x140176bbc
mov edx, dword [rsi + 0xc563]
add rdx, qword [rdi + 0x198]
lea rax, [0x140450248]
mov qword [rbp + 0x230], rax
mov dword [rbp + 0x238], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x240], xmm0
mov byte [rbp + 0x250], 0
lea rcx, [rbp + 0x230]
call fcn.14014a200
mov eax, 0xffffd659
add eax, dword [0x14052e438]
mov byte [rbp + 0x250], 0
cdqe
add rax, qword [0x14052e4b0]
lea rcx, [rbp + 0x230]
call qword [case.0x1401460cb.0]
mov rax, qword [rdi + 0x108]
mov rcx, qword [rax + 0x3a8]
add rsi, 0xc22b
mov dil, 1
mov r8d, 0x304
mov rdx, rsi
call fcn.140156590
jmp 0x1401772a1
mov r8b, r9b
or r8d, 0x7dee
movzx eax, r8w
add eax, 0xffff8211
sub ecx, ebx
mov edx, dword [0x14058ee74]
cmp edx, 0x4c
jg 0x140177040
jmp 0x140177009
mov rcx, qword [rdi + 0x190]
movzx edx, word [rsi + 0xc5e1]
call fcn.140261950
lea rcx, [rbp + 0x230]
mov rdx, rax
call fcn.1400b0860
mov rcx, qword [rdi + 0x190]
movzx edx, word [rsi + 0xc5e9]
call fcn.140261950
lea rcx, [rbp + 0x208]
mov rdx, rax
call fcn.1400b0860
lea rcx, [rbp + 0x200]
lea rdx, [rbp + 0x208]
lea r8, [rbp + 0x230]
call fcn.1401388b0
mov eax, dword [0x14052e458]
mov ecx, dword [0x14052e988]
add eax, ecx
add eax, 0xb190596c
jmp 0x140176d87
mov rcx, qword [rdi + 0x190]
movzx edx, word [rsi + 0xc601]
call fcn.140261950
mov r14, rax
lea r15, [rbp + 0x238]
test rax, rax
lea rbx, [0x14044d1a8]
cmove r14, rbx
mov qword [rbp + 0x248], 0
mov qword [rbp + 0x250], 0xf
mov eax, 0xffffd659
add eax, dword [0x14052e44c]
mov byte [rbp + 0x238], 0
cdqe
add rax, qword [0x14052e470]
mov rcx, r14
mov edx, 0xd8be7277
mov r8d, 0xd3d81fa2
call qword [case.0x1401460cb.0]
mov r12, rax
cmp rax, 0xf
jbe 0x140176dc3
mov rcx, r15
mov rdx, r12
mov r9, r14
call fcn.14008c390
jmp 0x140176de1
mov rcx, qword [rdi + 0x190]
movzx edx, word [rsi + 0xc5e3]
call fcn.140261950
lea rcx, [rbp + 0x230]
mov rdx, rax
call fcn.1400b0860
mov rcx, qword [rdi + 0x190]
movzx edx, word [rsi + 0xc5e9]
call fcn.140261950
lea rcx, [rbp + 0x208]
mov rdx, rax
call fcn.1400b0860
lea rcx, [rbp + 0x200]
lea rdx, [rbp + 0x208]
lea r8, [rbp + 0x230]
call fcn.1401388b0
mov eax, dword [0x14052e458]
mov ecx, dword [0x14052e988]
add eax, ecx
add eax, 0xb190596c
cdqe
add rax, qword [0x14052e460]
lea rcx, [rbp + 0x208]
call qword [case.0x1401460cb.0]
mov eax, 0xffffd659
add eax, dword [0x14052e458]
cdqe
add rax, qword [0x14052e460]
lea rcx, [rbp + 0x230]
call qword [case.0x1401460cb.0]
jmp 0x140177263
mov qword [rbp + 0x248], r12
mov rcx, r15
mov rdx, r14
mov r8, r12
call fcn.140430670
mov byte [rbp + r12 + 0x238], 0
lea r12, [0x14044c8c8]
mov qword [rbp + 0x230], r12
mov rcx, qword [rdi + 0x190]
movzx edx, word [rsi + 0xc5e9]
call fcn.140261950
lea r14, [rbp + 0x210]
test rax, rax
cmovne rbx, rax
mov qword [rbp + 0x220], 0
mov qword [rbp + 0x228], 0xf
mov eax, 0xffffd659
add eax, dword [0x14052e44c]
mov byte [rbp + 0x210], 0
cdqe
add rax, qword [0x14052e470]
mov rcx, rbx
mov edx, 0xd8be7277
mov r8d, 0xd3d81fa2
call qword [case.0x1401460cb.0]
mov r15, rax
cmp rax, 0xf
jbe 0x140176e6e
mov rcx, r14
mov rdx, r15
mov r9, rbx
call fcn.14008c390
jmp 0x140176e8c
mov qword [rbp + 0x220], r15
mov rcx, r14
mov rdx, rbx
mov r8, r15
call fcn.140430670
mov byte [rbp + r15 + 0x210], 0
mov qword [rbp + 0x208], r12
lea rcx, [rbp + 0x200]
lea rdx, [rbp + 0x208]
lea r8, [rbp + 0x230]
call fcn.1401388b0
mov rax, qword [rbp + 0x228]
cmp rax, 0x10
jb 0x140176f5f
mov rcx, qword [rbp + 0x210]
mov rdx, qword [0x14058ee80]
add rdx, rax
inc rdx
cmp rdx, 0x1000
jb 0x140176f45
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
mov rdx, qword [0x14052e980]
movabs r9, 0x6beb9065485c4491
mov r10, rdx
xor r10, r9
and rdx, r9
lea rdx, [r10 + rdx*2]
cmp rcx, rdx
jae 0x140176fff
movabs rcx, 0x6beb9065485c4499
add rcx, qword [0x14052e980]
xor rcx, rax
mov rdx, rax
not rdx
xor rax, 0x28
movabs r9, 0x7fffffffffffffd7
and r9, rdx
or r9, rax
not r9
lea rdx, [rcx + r9*2]
mov rcx, r8
mov eax, 0xffffd659
add eax, dword [0x14052e454]
cdqe
add rax, qword [0x14052e4a8]
call qword [case.0x1401460cb.0]
mov rax, qword [rbp + 0x250]
cmp rax, 0x10
jb 0x140177263
mov rcx, qword [rbp + 0x238]
movabs rdx, 0x26b664cbf5f1651f
add rdx, rax
mov r8, rdx
xor r8, 1
and edx, 1
lea r8, [r8 + rdx*2]
movabs rdx, 0xd9499b340a0e9ae1
add rdx, r8
cmp rdx, 0x1000
jb 0x140176fe0
mov r8, qword [rcx - 8]
add rcx, qword [0x14052e980]
sub rcx, r8
movabs rdx, 0x6beb9065485c4469
add rdx, rcx
cmp rdx, 0x20
jae 0x140177004
sub rax, qword [0x14052e980]
movabs rdx, 0x94146f9ab7a3bbb7
add rdx, rax
mov rcx, r8
mov eax, 0xffffd659
add eax, dword [0x14052e454]
cdqe
add rax, qword [0x14052e4a8]
call qword [case.0x1401460cb.0]
jmp 0x140177263
call fcn.1403e88ec
call fcn.1403e88ec
mov edx, dword [0x14052e988]
lea r8d, [rdx - 0x4e6f7cec]
lea r9, [fcn.140176130]
add r9d, r9d
add r9d, 0x1c0
xor r8d, r9d
not r8d
and r8d, r9d
add edx, 0xb1908313
cmp r8d, edx
je 0x14017704d
nop dword [rax + rax]
mov edx, dword [0x14058ee74]
cmp edx, 0x3e
jge 0x140177040
jmp 0x140177009
mov edx, ecx
not edx
xor ecx, eax
not eax
and eax, edx
or eax, ecx
not eax
nop dword [rax + rax]
mov ecx, dword [0x14058ee70]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
jne 0x140177091
test ax, ax
setne cl
or cl, byte [0x14058ee88]
mov edx, dword [0x14058ee70]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1401770a4
mov ecx, dword [0x14058ee70]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140177060
jmp 0x140177071
and cl, 1
mov byte [0x14058ee88], cl
lea rdx, [rbp + 0x26f]
mov rcx, rdi
call fcn.1400b2ab0
test al, al
je 0x140177263
mov qword [rsi + 0xc140], 0
mov dword [rsi + 0xc148], 0
mov rax, qword [rdi]
mov rax, qword [rax + 0x48]
mov rcx, rdi
mov rdx, rsi
call qword [case.0x1401460cb.0]
test al, al
je 0x140177263
mov edx, dword [rsi + 0xc118]
mov rcx, rdi
call fcn.140177af0
mov eax, dword [rsi + 0xc11c]
mov dword [rdi + 0x180], eax
mov dword [rdi + 0x130], eax
mov qword [rsi + 0xc118], 0
mov r14d, dword [rsi + 0xc52f]
mov edx, dword [rsi + 0xc533]
mov rcx, rdi
call fcn.14011f9b0
mov rcx, rdi
mov rdx, rax
mov r8d, r14d
call fcn.1400b2950
test al, al
je 0x140177263
mov rcx, qword [rdi + 0x108]
add rcx, 8
lea rdx, [rbp - 0x28]
call fcn.140177b90
lea rdx, [rbp - 0x28]
mov rcx, qword [rbp + 0x260]
call fcn.140146210
cmp word [rsi + 0xc607], 0
jne 0x140177191
mov rcx, qword [rbp + 0x260]
mov edx, 0x61e0000
call fcn.140145f70
test al, al
je 0x14017685a
mov rcx, qword [rdi + 0x190]
movzx edx, word [rsi + 0xc607]
call fcn.140261950
lea rbx, [rbp + 0x230]
mov rcx, rbx
mov rdx, rax
call fcn.1400b0860
mov rcx, qword [rdi + 0x190]
movzx edx, word [rsi + 0xc5cf]
call fcn.140261950
lea r14, [rbp + 0x208]
mov rcx, r14
mov rdx, rax
call fcn.1400b0860
mov edx, dword [rdi + 0x118]
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], r14
mov byte [rsp + 0x48], 0
mov dword [rsp + 0x40], 1
mov qword [rsp + 0x38], 0
mov dword [rsp + 0x30], 0x186a3
lea rcx, [rbp + 0x200]
xor r8d, r8d
mov r9d, 1
call fcn.140137230
mov ebx, 0xffffd659
mov eax, dword [0x14052e458]
add eax, ebx
cdqe
add rax, qword [0x14052e460]
lea rcx, [rbp + 0x208]
call qword [case.0x1401460cb.0]
add ebx, dword [0x14052e458]
movsxd rax, ebx
add rax, qword [0x14052e460]
lea rcx, [rbp + 0x230]
call qword [case.0x1401460cb.0]
jmp 0x14017685a
mov eax, dword [rdi + 0x164]
mov ecx, eax
not ecx
xor eax, 0x200
and ecx, 0xfffffdff
or ecx, eax
cmp ecx, 0xffffffff
je 0x14017728f
mov eax, 0xb1908323
add eax, dword [0x14052e988]
or dword [rsi + 4], eax
jmp 0x14017729f
mov rax, qword [rdi]
mov rax, qword [rax + 0x30]
mov rcx, rdi
call qword [case.0x1401460cb.0]
xor edi, edi
mov rcx, qword [rbp + 0x1e0]
test rcx, rcx
je 0x1401772f8
mov rdx, qword [rbp + 0x1f0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1401772d8
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14017730e
add rdx, 0x27
mov rcx, rax
mov eax, dword [0x14052e454]
sub eax, dword [0x14052e988]
add eax, 0x4e6f5346
cdqe
add rax, qword [0x14052e4a8]
call qword [case.0x1401460cb.0]
mov eax, edi
add rsp, 0x2f8
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403e88ec
mov eax, dword [0x14058ee74]
cmp eax, 0x2f
jl 0x140177344
mov eax, 0xb1908326
nop word cs:[rax + rax]
mov ecx, dword [0x14058ee74]
mov edx, dword [0x14052e988]
add edx, eax
cmp ecx, edx
jge 0x140177330
jmp 0x140177313
xor eax, eax
mov ebx, 0
test r12d, r12d
jg 0x140177361
mov rcx, qword [rbp + 0x260]
call fcn.140146050
jmp 0x14017650d
mov ecx, 0xb1908337
xor edx, edx
jmp 0x140177387
mov ebx, r9d
xor ebx, r9d
not ebx
and ebx, edx
xor ebx, r9d
add eax, 2
mov edx, ebx
cmp eax, r12d
jge 0x140177350
mov r8d, dword [0x14058ee74]
cmp r8d, 0x27
jg 0x1401773d0
nop word cs:[rax + rax]
mov r8d, dword [0x14058ee74]
cmp r8d, 0x5f
jge 0x1401773d0
movsxd r8, eax
add r8, r15
mov r9d, dword [0x14058ee74]
mov r10d, dword [0x14052e988]
add r10d, ecx
cmp r9d, r10d
jl 0x1401773f0
jmp 0x140177405
mov r8d, dword [0x14058ee70]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x1401773d0
jmp 0x1401773a0
movzx r9d, word [r8]
mov r10d, dword [0x14058ee74]
cmp r10d, 0xf
jle 0x140177370
movzx r9d, word [r8]
jmp 0x1401773f0