Function at 0x140174c8c
Capabilities:
Access peb ldr_data
Encode data using xor
Get process filename
Resolve function by parsing pe exports

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x1e0
movabs rax, 0xe52c576f8b26bba4
mov qword [rsp + 0x230], rax
movabs rdi, 0xe7a6f036313c8db5
xor r13d, r13d
mov ebx, r13d
movabs rax, 0xa3760a7d10e863a4
movabs r11, 0xa718a4d2390f672a
mov r15, qword [0x14031d070]
imul r15, rax
not r15
movabs rcx, 0x58e75b2dda3389ee
mov rax, qword [0x14031d060]
xor rax, rcx
and r15, rax
ror r15, 0xe
shr r15, 8
movabs rax, 0x84edc0d35c596278
mov r9, qword [0x14031d080]
imul r9, rax
movabs r8, 0x18590fc9cec3724b
sub r9, r8
movabs rax, 0x1b3c0d7e00000000
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
movabs rsi, 0xaaaaaaaaaaaaaaab
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r14, [0x14031d060]
movzx eax, r9b
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x1b
and ecx, 0x8000003f
lea r12d, [r13 + 1]
jge 0x140174d88
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, r9
ror rdx, cl
not rdx
movabs rcx, 0xa8e842ec6d8c0828
mov rax, rdx
imul rax, rcx
mov qword [rsp + 0x228], rax
add r8, rax
mov r10, r9
imul r10, r15
sub r10, r8
movabs rax, 0xe52c576f8b26bba4
xor r10, rax
movzx ecx, r8b
mov dword [rsp + 0x220], ecx
xor ecx, 4
and ecx, 0xf
jge 0x140174de0
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r10, cl
mov rax, r8
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0xe943c5125dfcc48
imul rdx, rax
movabs rax, 0x3a8c9b11fab71e07
add rdx, rax
xor r10, rdx
xor r10, r11
mov rax, r10
and rax, r12
je 0x1401750fb
sub rax, 1
je 0x140174ff5
sub rax, 1
je 0x140174f29
cmp rax, 1
jne 0x140175180
mov rcx, r8
imul rcx, r9
movabs rax, 0x1743e2141e66af99
add rax, r10
xor rcx, rax
ror rcx, 0x34
shr rcx, 0xc
not rcx
mov qword [rsp + 0x230], rcx
movabs rdx, 0x83572e4ff810
add rdx, qword [0x14031d088]
movabs rax, 0x18db8ab1ab97aac1
xor rdx, rax
movzx eax, r10b
movzx ecx, cl
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db976af14f3
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xa774c619
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs rdi, 0x19d4853926b1066a
sub rdi, qword [rsp + 0x230]
shr rdi, cl
movabs rax, 0x1861345224b42921
mov rcx, qword [rsp + 0x228]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r14 + rcx*8]
imul rax, r10
sub rax, r15
xor rdi, rax
jmp 0x140175180
movabs rcx, 0xaaaaaa1aa76d3b27
mov r9, r10
xor r9, rcx
movabs rcx, 0x1206ed6560e76b
imul r9, rcx
movabs rdx, 0xffff7e8a817d09fb
mov rcx, qword [rsp + 0x228]
imul rcx, rdx
movabs rdx, 0x440231a76ac15213
add r9, rdx
add r9, rcx
movabs rax, 0x277cd7be75bdec47
mov rcx, r9
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, r9
not r8
imul r8, qword [r14 + rcx*8]
xor r8, 0xfffffffff238edf7
lea ecx, [r10 - 0x1b]
and cl, 0x3f
rol r8, cl
movabs rax, 0xc1a288200000000
imul r8, rax
mov rcx, r8
ror rcx, 0x1e
not rcx
movabs rax, 0x9b2de6b2e945b980
imul rcx, rax
mov rax, r9
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, r15b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140175180
movabs rax, 0x10589bd3bafc1b35
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x1ad3a89074d9445b
shl rdx, cl
mov rax, r11
mov r11, rdx
xor r11, rax
mov eax, dword [rsp + 0x220]
and eax, 0x8000003f
jge 0x14017504c
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r11, cl
movabs rcx, 0x18590fc9cec3724b
add rcx, r10
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff036313c8db5
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r11, rax
movabs rax, 0xffffc7a7fba94d0a
or r11, rax
mov rdi, qword [0x14031d070]
movabs rax, 0xe52c576f8b26bba4
imul rdi, rax
sub rdi, r8
mov rax, r15
sub rax, r11
xor rdi, rax
movabs rax, 0xc7a7c6a6aaa14d07
xor rdi, rax
mov rax, r10
imul rax, r8
imul rax, rdi
mov rbx, r9
sub rbx, rax
movabs rax, 0x789589465f3011d
add rbx, rax
xor rbx, r15
movzx eax, r9b
imul ecx, eax, 0xe2
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x140175180
mov rcx, qword [0x14031d080]
imul rcx, r10
and rcx, qword [0x14031d070]
mov rax, r11
mov r11, rcx
xor r11, rax
ror r11, 0x2a
imul r11, r8
mov rbx, r15
not rbx
imul rbx, r9
movabs rax, 0x7cd8a7de77501ce6
imul rbx, rax
imul r15, qword [0x14031d060], 0xffffffffe33ceec4
mov rdx, qword [0x14031d068]
sub r15, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140175168
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r15, cl
movabs rax, 0x18590fc9cec3724b
add r15, rax
add r15, qword [rsp + 0x228]
movabs rax, 0xff055d7b871b162b
mov rcx, qword [rsp + 0x230]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r11, rbx
imul r11, qword [r14 + rcx*8]
not r8
imul r8, r10
imul r8, r15
imul r8, rdi
movabs rcx, 0xf5ed7e8780a85cf7
xor rcx, r9
not rcx
xor rcx, r8
sub rcx, r11
call fcn.14008359c
mov qword [0x140321f48], rax
mov r15d, r13d
mov dword [rsp + 0x30], 0x1a54694e
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10d, 0x4764996c
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r15d, r15d
je 0x140175261
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea rbx, [r9 + rcx*2]
mov r11d, 0xdb15566e
jmp 0x140175253
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, r10d
mov ecx, r11d
xor ecx, edx
mov r11d, r8d
imul r11d, ecx
add r9, 2
cmp r9, rbx
jne 0x140175231
cmp r11d, r15d
jne 0x140175313
mov r11, qword [rax + 0x30]
movsxd rcx, dword [r11 + 0x3c]
mov rcx, qword [rcx + r11 + 0x88]
mov edi, ecx
add rdi, r11
shr rcx, 0x20
cmp rdi, r11
je 0x140175313
mov r8d, dword [rdi + 0x18]
test r8d, r8d
je 0x140175313
mov r9d, dword [rdi + 0x20]
dec r8d
mov dword [rsp + 0x20], r8d
mov edx, r8d
mov qword [rsp + 0x50], rdx
lea rdx, [r11 + r8*4]
mov ebx, dword [rdx + r9]
add rbx, r11
mov edx, 0xdb15566e
mov r9b, byte [rbx]
add rbx, r12
test r9b, r9b
je 0x140175304
mov r11d, edx
movsx r8d, r9b
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, r10d
mov edx, r11d
xor edx, r8d
mov r11d, r9d
imul r11d, edx
mov r9b, byte [rbx]
add rbx, r12
test r9b, r9b
jne 0x1401752c2
mov dword [rsp + 0x230], r11d
mov r11, qword [rax + 0x30]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x230]
cmp edx, dword [rsp + 0x30]
je 0x14017531b
test r8d, r8d
mov r9d, dword [rdi + 0x20]
jne 0x140175294
mov rax, qword [rax]
jmp 0x140175204
mov edx, dword [rdi + 0x1c]
add rdx, r11
mov eax, dword [rdi + 0x24]
add rax, r11
mov r8, qword [rsp + 0x50]
movzx eax, word [rax + r8*2]
mov r8d, dword [rdx + rax*4]
add r8, r11
cmp r8, rdi
jbe 0x1401753c7
lea rax, [rcx + rdi]
cmp r8, rax
jae 0x1401753c7
mov r15d, 0xdb15566e
mov r11d, r15d
mov dword [rsp + 0x30], r15d
jmp 0x140175377
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r15d
xor eax, ecx
mov r15d, edx
imul r15d, eax
add r8, r12
mov al, byte [r8]
cmp al, 0x2e
jne 0x14017535a
add r8, r12
mov al, byte [r8]
test al, al
je 0x1401753b1
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, r10d
mov eax, r11d
xor eax, ecx
mov r11d, edx
imul r11d, eax
add r8, r12
mov al, byte [r8]
test al, al
jne 0x140175388
mov dword [rsp + 0x30], r11d
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140175313
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x38], 0xdf2add2
mov eax, dword [rsp + 0x38]
add eax, 0xdb45a8b4
xor eax, 0x3e096d4a
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x58f75ff8
xor eax, 0x9ee7da5a
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x4d5b826c
add eax, ecx
xor eax, 0x91e5059c
sub eax, 0xba1056a
xor eax, 0x1b9c46ab
lea edx, [rcx - 0x15826cb5]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd76d14f6
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x2892eb09
add ecx, 0xc1a7e8f
add ecx, edx
xor ecx, 0x195f8ea6
mov dword [rsp + 0x38], ecx
movsxd rcx, ecx
call r8
mov r15, rax
mov qword [rsp + 0x90], rax
mov dword [rsp + 0x38], r13d
mov qword [rsp + 0x98], r13
movabs rax, 0x9561f9df0f780694
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], r13
movabs rax, 0xc0ddc70c74a9b653
mov qword [rsp + 0xa0], rax
movabs rcx, 0xf33a52b781035b03
add rcx, qword [rsp + 0xa0]
movabs rax, 0x80553662530b1307
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f5de89910
sub rcx, rax
movabs rax, 0xf8f8cd96f2933141
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654b790e082e3
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a6b0d8a639
xor rcx, rax
movabs rax, 0x5f627dc4ab29960c
sub rcx, rax
movabs rax, 0x63b3cd1a0b03f95
xor rcx, rax
movabs rdx, 0x3483ce43504810dd
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ade040bc0
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b521fbf43f
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d9389a67e95
add rdx, rax
add rdx, rcx
movabs rax, 0x39edc743c371e440
xor rdx, rax
mov qword [rsp + 0xa0], rdx
movabs rcx, 0xf33a52b7d9185583
add rcx, qword [rsp + 0x98]
movabs rax, 0x7ad53662530b6b1c
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb80a10f2801
add rcx, rax
movabs rax, 0xf8f8cd96991de2d7
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654b7195008da
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a64c60b87f
xor rcx, rax
movabs rax, 0x5f627dc4933262da
sub rcx, rax
movabs rax, 0x323b3cd174a301ad
xor rcx, rax
movabs rax, 0xb483ce42fa9ba937
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94adf645faa
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5209ba055
xor r11, rax
movabs rax, 0xe0b56d94eb9a74ff
add rcx, rax
add rcx, r11
movabs rax, 0x9a284e68140c0372
xor rcx, rax
mov qword [rsp + 0x98], rcx
and rcx, rdx
mov qword [rsp + 0xa0], r13
mov qword [rsp + 0x98], r13
cmp r15, rcx
jne 0x140175721
mov dword [rsp + 0x3c], r13d
mov dword [rsp + 0x3c], 0x43216b9b
mov eax, dword [rsp + 0x3c]
add eax, 0xfc3356b6
xor eax, 0xec0b8e37
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x5f5a2902
xor eax, 0x757675a0
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x69a8e0b8
add eax, ecx
xor eax, 0x2455eb22
add eax, 0x753410ef
xor eax, 0x9b14683c
mov edx, dword [0x14031d030]
xor edx, 0x200f3451
sub edx, eax
mov eax, dword [0x14031d038]
xor eax, 0xdff0cbae
sub edx, eax
sub edx, ecx
sub edx, 0x6021373d
xor edx, 0x73c1ca0e
mov dword [rsp + 0x3c], edx
movsxd rax, edx
mov dword [rsp + 0x3c], r13d
add rsp, 0x1e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
movabs rax, 0xf460e1e3f2ebac54
mov qword [rsp + 0x28], rax
movabs rax, 0xcee7c00000000000
movabs r15, 0x9253317d33bba8e3
mov r10, qword [0x14031d060]
imul r10, rax
movabs rax, 0x9033500000000000
xor r10, rax
mov rcx, r10
imul rcx, r15
mov qword [rsp + 0x50], rcx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r10
and r9, r15
imul r9, qword [r14 + rcx*8]
movabs rax, 0x318ac170af660bc8
imul r9, rax
shr r9, 3
movabs rax, 0x33a3d9d6e988c366
xor r9, rax
movabs rax, 0xffffff57d4a57219
mov r11, r10
imul r11, rax
sub r11, 0xcfe7456
xor r11, r9
xor r11, qword [0x14031d060]
mov rax, r9
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bdd16cd38
imul rax, rcx
not rax
and r11, rax
ror r11, 0x2a
shr r11, 8
movabs r8, 0x6dacce82cc44571d
lea rcx, [r10 + r8]
xor rcx, 0xffffffffe398c635
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xa9fd980f3a761bb0
mov rbx, qword [r14 + rcx*8]
imul rbx, rax
sub rbx, r8
movabs rcx, 0xc5620c2ab5b3b9f0
mov rax, r9
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov qword [rsp + 0x20], rbx
mov rax, rbx
xor rax, r10
mov qword [rsp + 0x230], rax
lea rcx, [rbx + r8]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x29
and ecx, 0x8000003f
jge 0x140175895
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, qword [rsp + 0x230]
ror rdx, cl
not rdx
imul rdx, r9
imul rax, rdx, 0xfffffffff3018baa
mov qword [rsp + 0x30], rax
lea rdi, [rax + r8]
mov r8, rbx
imul r8, r11
sub r8, rdi
movabs rax, 0xf460e1e3f2ebac54
xor r8, rax
movzx ecx, dil
mov dword [rsp + 0x230], ecx
xor ecx, 6
and ecx, 0xf
jge 0x1401758ea
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r8, cl
mov rax, rdi
sub rax, qword [0x14031d078]
xor r8, rax
movabs rax, 0x2cfa8463613467be
imul rdx, rax
movabs rax, 0x2a6fdd7762f346b7
add rdx, rax
xor r8, rdx
xor r8, r9
xor r8, r10
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x140175c7d
sub rax, 1
je 0x140175b38
sub rax, 1
je 0x140175a40
cmp rax, 1
jne 0x140175a39
mov rcx, rdi
imul rcx, rbx
movabs rax, 0x9fb4ebb8b1a1bdd5
add rax, r8
xor rcx, rax
ror rcx, 0x12
shr rcx, 0xc
xor rcx, r10
not rcx
mov qword [rsp + 0x28], rcx
movabs rdx, 0x83573fe7c33e
add rdx, qword [0x14031d088]
movabs rax, 0x6d2e4bfab8b8b4a5
xor rdx, rax
movzx eax, r8b
movzx ecx, cl
imul ecx, eax
mov bl, 0x3f
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db967072fc1
sub rax, qword [rsp + 0x20]
mov rcx, rdx
xor rcx, rax
mov qword [rsp + 0x20], rcx
imul rcx, r15
mov eax, 0xb6dcfd2b
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs r15, 0x9a7f72801bcedffc
sub r15, qword [rsp + 0x28]
shr r15, cl
movabs rax, 0x6db4f30b109ce505
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r14 + rcx*8]
imul rax, r8
sub rax, r11
xor r15, rax
jmp 0x140175d27
mov bl, 0x3f
jmp 0x140175d27
movabs rax, 0xaaaaaa1ab6c50015
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed74c8dc59
imul rcx, rax
movabs rdx, 0xfff17ca861a73669
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a90d532c9
mov rdx, qword [rsp + 0x30]
imul rdx, rax
movabs rbx, 0xab57d0a116a2428e
add rbx, rcx
add rbx, rdx
mov qword [rsp + 0x20], rbx
movabs rax, 0x277cd7be6415d775
mov rcx, rbx
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rdi, rbx
not rdi
imul rdi, qword [r14 + rcx*8]
xor rdi, 0xffffffffe390d6c5
lea ecx, [r8 + 0x17]
mov bl, 0x3f
and cl, bl
rol rdi, cl
movabs rcx, 0x22084400000000
mov rax, qword [rsp + 0x50]
xor rax, rcx
movabs rcx, 0x7c7a7dc68a97dc74
and rax, rcx
imul rdi, rax
mov rcx, rdi
ror rcx, 0x1c
not rcx
movabs rax, 0x9b2de6b2afe55548
imul rcx, rax
mov rax, qword [rsp + 0x20]
sub rax, rdi
lea rdx, [rcx + rax*4]
mov cl, r11b
and cl, bl
ror rdx, cl
mov rax, r15
mov r15, rdx
imul r15, rax
jmp 0x140175d27
movabs rax, 0x3c85c9eb9667467
imul r8, rax
movabs rax, 0xd79435e50d79435f
mul r8
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r8b
sub cl, dl
movabs rdx, 0x6dacce82cc44571c
mov rax, r10
imul rax, rdx
movabs rdx, 0xf460e1e3f2ebac54
xor rax, rdx
not rax
shl rax, cl
xor r9, rax
mov eax, dword [rsp + 0x230]
and eax, 0x8000003f
jge 0x140175ba0
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r9, cl
movabs rcx, 0x6dacce82cc44571d
add rcx, r8
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfffff17d33bba8e3
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7ea017638
or r9, rax
mov r15, qword [0x14031d070]
movabs rax, 0xf460e1e3f2ebac54
imul r15, rax
sub r15, rdi
mov rax, r11
sub rax, r9
xor r15, rax
movabs rax, 0xc7a7c6a6bb097635
xor r15, rax
movabs rax, 0xcccccccccccccccd
mul r10
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r10
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, rdi
imul rdx, r15
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r10
movabs r10, 0x7895894745b3a2f
add r10, rax
xor r10, r11
mov cl, bl
shl cl, 4
mov bl, 0x3f
and cl, bl
rol r10, cl
not r10
jmp 0x140175d27
mov rax, rsi
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r8
imul rax, qword [0x14031d080]
mov rdx, qword [r14 + rcx*8]
and rdx, rax
xor rdx, r9
mov bl, 0x3f
and r9b, bl
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, rdi
not r11
imul r11, qword [rsp + 0x20]
movabs rax, 0x7cd8a7de66f827d4
imul r11, rax
mov rax, r9
imul rax, r10
mov r10, r11
xor r10, rax
imul r11, qword [0x14031d060], 0xfffffffff3018baa
mov rdx, qword [0x14031d068]
sub r11, rdx
mov al, r10b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140175d12
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r11, cl
movabs rax, 0x6dacce82cc44571d
add r11, rax
add r11, qword [rsp + 0x30]
movabs rax, 0xff055d7b96b32d19
mov rcx, qword [rsp + 0x28]
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
xor r9, r10
imul r9, qword [r14 + rcx*8]
not rdi
imul rdi, r8
imul rdi, r11
imul rdi, r15
movabs rcx, 0xf5ed7e87910067c5
xor rcx, qword [rsp + 0x20]
not rcx
xor rcx, rdi
sub rcx, r9
call fcn.14013a05c
mov qword [0x140321f38], rax
movabs rax, 0x1200000000000000
movabs r11, 0xb630b5ae91291029
movabs r15, 0xb95f6858fb15d7c2
mov r8, qword [0x14031d070]
imul r8, rax
movabs rax, 0x3b00000000000000
xor r8, rax
mov qword [rsp + 0x230], r8
mov rcx, r8
imul rcx, r15
mov qword [rsp + 0x30], rcx
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r8
and r10, r15
imul r10, qword [r14 + rcx*8]
movabs rax, 0x30bd896bbe75a624
imul r10, rax
shr r10, 3
movabs rax, 0xe9cc7ea2d92dbaf1
xor r10, rax
movabs rax, 0xffffff57cc7b1317
mov rcx, r8
imul rcx, rax
sub rcx, 0x48b167c
xor rcx, qword [0x14031d060]
xor rcx, r10
mov rax, r10
imul rax, qword [0x14031d070]
movabs rdx, 0xb9de928bc5c8ac36
imul rax, rdx
not rax
and rcx, rax
ror rcx, 5
shr rcx, 8
mov qword [rsp + 0x20], rcx
movabs r9, 0x46a097a704ea283e
lea rcx, [r8 + r9]
xor rcx, 0xfffffffffb46a73b
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xdd89e2592d74a3a8
mov rdi, qword [r14 + rcx*8]
imul rdi, rax
sub rdi, r9
movabs rcx, 0xf826ae081036b848
mov rax, r10
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov rax, rdi
xor rax, r8
mov qword [rsp + 0x50], rax
lea rcx, [rdi + r9]
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
movzx ecx, byte [r14 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x27
and ecx, 0x8000003f
jge 0x140175efd
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, qword [rsp + 0x50]
ror rax, cl
not rax
imul rax, r10
imul rcx, rax, 0xfffffffffb74e984
mov qword [rsp + 0x28], rcx
lea r8, [rcx + r9]
mov r9, rdi
imul r9, qword [rsp + 0x20]
sub r9, r8
xor r9, r11
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
rol r9, cl
movabs rcx, 0xf6952317528ad208
imul rax, rcx
movabs rcx, 0x256e33ac785490fc
add rax, rcx
xor r9, rax
mov rax, r8
sub rax, qword [0x14031d078]
xor r9, rax
xor r9, r10
mov rdx, qword [rsp + 0x230]
xor r9, rdx
mov rax, r9
and eax, 2
je 0x1401762a8
sub rax, 1
je 0x140176170
sub rax, 1
je 0x140176080
cmp rax, 1
jne 0x140176361
mov r11, r8
imul r11, rdi
movabs rax, 0x4ff16b7ef086c392
add rax, r9
xor r11, rax
ror r11, 0x3c
shr r11, 0xc
xor r11, rdx
not r11
movabs rcx, 0x83572739a234
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0x462212df68c8aa8a
xor rdx, rax
movzx eax, r9b
movzx ecx, r11b
imul ecx, eax
and cl, bl
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97fd94ecf
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
imul rcx, r15
mov eax, 0xae029c25
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [r14 + rcx*8]
and cl, 0xf
movabs r15, 0xc1a34c32c5e18e9d
sub r15, r11
shr r15, cl
movabs rax, 0x46a8bc2f61711528
mov rcx, qword [rsp + 0x28]
add rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r14 + rcx*8]
imul rax, r9
sub rax, qword [rsp + 0x20]
xor r15, rax
jmp 0x140176361
movabs rax, 0xaaaaaa1aae1b611b
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed6c16bd57
imul rcx, rax
movabs rdx, 0xfff17ca879795767
mov rax, r10
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a880b53c7
mov rdx, qword [rsp + 0x28]
imul rdx, rax
movabs rdi, 0xf49458d3efc6b5f9
add rdi, rcx
add rdi, rdx
movabs rax, 0x277cd7be7ccbb67b
mov rcx, rdi
xor rcx, rax
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rdi
not r8
imul r8, qword [r14 + rcx*8]
xor r8, 0xfffffffffb4eb7cb
lea ecx, [r9 + 0x19]
and cl, bl
rol r8, cl
movabs rcx, 0x2c5a5dc280000000
mov rax, qword [rsp + 0x30]
xor rax, rcx
movabs rcx, 0x7c7a7dc69249bd7a
and rax, rcx
imul r8, rax
mov rcx, r8
ror rcx, 0x2f
not rcx
movabs rax, 0x9b2de6b2cc9cd170
imul rcx, rax
mov rax, rdi
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, byte [rsp + 0x20]
and cl, bl
ror rdx, cl
mov rax, r15
mov r15, rdx
imul r15, rax
jmp 0x140176361
movabs rax, 0xbf821805508b88fc
imul r9, rax
movabs rax, 0xd79435e50d79435f
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0x46a097a704ea283d
mov rax, qword [rsp + 0x230]
imul rax, rdx
xor rax, r11
not rax
shl rax, cl
xor r10, rax
mov cl, r8b
and cl, bl
rol r10, cl
movabs rcx, 0x46a097a704ea283e
add rcx, r9
mov rax, rsi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe858fb15d7c2
mov rax, qword [r14 + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f2df1736
or r10, rax
mov r15, qword [0x14031d070]
imul r15, r11
sub r15, r8
mov rax, qword [rsp + 0x20]
sub rax, r10
xor r15, rax
movabs rax, 0xc7a7c6a6a3d7173b
xor r15, rax
movabs rax, 0xcccccccccccccccd
mov rcx, qword [rsp + 0x230]
mul rcx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, r15
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, r8
imul rdx, r15
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, qword [rsp + 0x230]
movabs rdx, 0x78958946c855b21
add rdx, rax
xor rdx, qword [rsp + 0x20]
movzx eax, dil
imul ecx, eax, 0x1e
and cl, bl
rol rdx, cl
not rdx
mov qword [rsp + 0x230], rdx
jmp 0x140176361
mov rax, rsi
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r10
sub rcx, rax
mov rax, r9
imul rax, qword [0x14031d080]
mov rdx, qword [r14 + rcx*8]
and rdx, rax
xor rdx, r10
and r10b, bl
mov cl, r10b
mov r10, rdx
ror r10, cl
imul r10, r8
mov rcx, qword [rsp + 0x20]
not rcx
imul rcx, rdi
movabs rax, 0x7cd8a7de7e2646da
imul rcx, rax
mov rax, r10
imul rax, qword [rsp + 0x230]
xor rcx, rax
mov qword [rsp + 0x230], rcx
imul rbx, qword [0x14031d060], 0xfffffffffb74e984
mov rdx, qword [0x14031d068]
sub rbx, rdx
mov al, cl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140176347
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror rbx, cl
movabs rax, 0x46a097a704ea283e
add rax, rbx
add rax, qword [rsp + 0x28]
mov qword [rsp + 0x20], rax
movabs rax, 0xff055d7b8e6d4c17
xor r11, rax
mov rax, rsi
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r11, rax
xor r10, qword [rsp + 0x230]
imul r10, qword [r14 + r11*8]
not r8
imul r8, r9
imul r8, qword [rsp + 0x20]
imul r8, r15
movabs rcx, 0xf5ed7e8789de06cb
xor rcx, rdi
not rcx
xor rcx, r8
sub rcx, r10
call fcn.14015e110
mov qword [0x140321f68], rax
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x40], 0x86fc71a2
mov eax, dword [rsp + 0x40]
add eax, 0xc8ec47b6
xor eax, 0xdd0b5af0
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x5ec053d5
xor eax, 0xa98aa0dc
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x2f43d595
add eax, ecx
xor eax, 0x5ed2f83e
add eax, 0x67a769e3
xor eax, 0x2cb989f5
mov edx, dword [0x14031d030]
xor edx, 0x20dc508d
sub edx, eax
mov eax, dword [0x14031d038]
xor eax, 0xdf23af72
sub edx, eax
sub edx, ecx
sub edx, 0x5facf590
xor edx, 0x137341ca
mov dword [rsp + 0x40], edx
movsxd rax, edx
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x40], r13d
mov edi, r13d
mov r14d, 0x98f7591a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x1401764c4
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x74c5145c
jmp 0x1401764b6
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140176496
cmp r9d, edi
jne 0x140176546
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x140176546
mov esi, dword [rbx + 0x18]
test esi, esi
je 0x140176546
mov edx, dword [rbx + 0x20]
dec esi
mov r8d, esi
lea rdx, [rdx + rsi*4]
mov r11d, dword [rdx + r10]
add r11, r10
mov r15d, 0x74c5145c
mov dl, byte [r11]
add r11, r12
mov r9d, 0x4764996c
test dl, dl
je 0x14017653a
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r9d
xor r8d, r15d
mov r15d, edx
imul r15d, r8d
mov dl, byte [r11]
add r11, r12
test dl, dl
jne 0x140176512
mov r8d, esi
cmp r15d, r14d
je 0x14017654e
test esi, esi
mov edx, dword [rbx + 0x20]
jne 0x1401764ec
mov rax, qword [rax]
jmp 0x14017646a
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rbx + 0x24]
add rax, r10
movzx eax, word [rax + r8*2]
mov edx, dword [rdx + rax*4]
add rdx, r10
mov qword [rsp + 0x230], rdx
cmp rdx, rbx
jbe 0x1401765dc
lea rax, [rbx + rcx]
cmp rdx, rax
jae 0x1401765dc
mov edi, 0x74c5145c
mov r14d, edi
jmp 0x14017659d
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, edi
mov edi, eax
imul edi, ecx
add rdx, r12
mov al, byte [rdx]
cmp al, 0x2e
jne 0x140176585
jmp 0x1401765bd
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r9d
xor ecx, r14d
mov r14d, eax
imul r14d, ecx
add rdx, r12
mov al, byte [rdx]
test al, al
jne 0x1401765a5
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
jmp 0x140176546
mov dword [rsp + 0x48], r13d
mov dword [rsp + 0x48], 0x26235322
mov eax, dword [rsp + 0x48]
add eax, 0xb6bba30
xor eax, 0x4f849d70
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
add eax, 0x35782dd3
xor eax, 0x82013098
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x957fd5b1
add eax, ecx
xor eax, 0xef999ab
add eax, 0x1228c839
xor eax, 0xf7afbcbc
lea edx, [rcx + 0x18a88c49]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xc42dad3c
sub edx, eax
mov r15d, dword [0x14031d030]
xor r15d, 0x3bd252c3
add r15d, 0xd9715542
add r15d, edx
xor r15d, 0xff802cb4
mov dword [rsp + 0x48], r15d
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x44], 0x3cb9da82
mov eax, dword [rsp + 0x44]
add eax, 0x8a0d9db4
xor eax, 0x33091c12
sub eax, dword [0x14031d058]
sub eax, dword [0x14031d050]
sub eax, 0x5803b7d7
xor eax, 0xf164c586
sub eax, dword [0x14031d048]
mov rcx, qword [0x14031d040]
add eax, 0x3b9b155b
add eax, ecx
xor eax, 0xee88f228
sub eax, 0x208e3616
xor eax, 0x9c3ad5eb
lea edx, [rcx + 0x397d15fe]
add edx, eax
not edx
mov eax, dword [0x14031d038]
xor eax, 0xd62834ca
sub edx, eax
mov ecx, dword [0x14031d030]
xor ecx, 0x29d7cb35
add ecx, 0xc633b262
add ecx, edx
xor ecx, 0xe7d51bd2
mov dword [rsp + 0x44], ecx
movsxd r14, ecx
mov qword [rsp + 0xb0], r13
movabs rax, 0x8a4ab52dc3f5fabe
mov qword [rsp + 0xb0], rax
mov qword [rsp + 0xa8], r13
movabs rax, 0x471e60ccdbfa9afc
mov qword [rsp + 0xa8], rax
movabs rcx, 0xf33a52b7b1c5bb83
add rcx, qword [rsp + 0xb0]
movabs rax, 0xe0d53662530b43ca
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0x7120fb80a1851fcf
add rcx, rax
movabs rax, 0xf8f8cd96c10dc73f
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x87d654b74eb0a8e5
add rcx, rax
mov rdi, qword [0x14031d040]
add rcx, rdi
movabs rax, 0x5a9179a6793af027
xor rcx, rax
movabs rax, 0x5f627dc49c56ff32
sub rcx, rax
movabs rax, 0x23b3cd1884d8942
xor rcx, rax
movabs rdx, 0xb483ce4320db0101
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94adec71542
mov r10, qword [0x14031d038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b52138eabd
mov r11, qword [0x14031d030]
mov rcx, r11
xor rcx, rax
movabs rsi, 0xe0b56d944d74c217
add rsi, rdx
add rsi, rcx
movabs rax, 0x4d5ac4dc9ad905ba
xor rsi, rax
mov qword [rsp + 0xb0], rsi
movabs rcx, 0xf33a52a809f37d03
add rcx, qword [rsp + 0xa8]
movabs rax, 0xa255366252fb9bf8
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f2f836976
sub rcx, rax
movabs rax, 0xf8f8cda6a77f4eb9
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654cc8efe8cbc
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179b854a6bf71
xor rcx, rax
movabs rax, 0x5f627de0429acca4
sub rcx, rax
movabs rax, 0xf63b3cd95cb3e714
xor rcx, rax
movabs rax, 0x3483ce525b167fcb
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94aa027cc48
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b55fd833b7
xor r11, rax
movabs rbx, 0xe0b56d556fcac71d
add rbx, rcx
add rbx, r11
movabs rax, 0x3c64278b7ee55f78
xor rbx, rax
mov qword [rsp + 0xa8], rbx
mov r9, qword [rsp + 0x90]
mov r8d, r15d
mov rdx, r14
mov rcx, r9
call qword [rsp + 0x230]
movsxd rcx, eax
and rsi, rbx
mov qword [rsp + 0xa8], r13
mov qword [rsp + 0xb0], r13
mov dword [rsp + 0x44], r13d
mov dword [rsp + 0x48], r13d
cmp rcx, rsi
je 0x1401780cd
movabs r14, 0x76ebb254db70ac16
movabs r9, 0x2c9b4241e624e725
mov qword [rsp + 0x20], r9
movabs rax, 0x8b92e00000000000
mov rbx, qword [0x14031d070]
imul rbx, rax
movabs rax, 0xbb15300000000000
xor rbx, rax
mov rcx, rbx
imul rcx, r9
mov qword [rsp + 0x30], rcx
movabs rdi, 0xaaaaaaaaaaaaaaab
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rbx
and r8, r9
lea rsi, [0x14031d060]
imul r8, qword [rsi + rcx*8]
movabs rax, 0x3ff10852443d0508
imul r8, rax
shr r8, 3
movabs rax, 0x48c9fc9b7ac00928
xor r8, rax
movabs rax, 0xffffff57f577c07f
mov r15, rbx
imul r15, rax
sub r15, 0xca251f4
xor r15, r8
xor r15, qword [0x14031d060]
mov rax, r8
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bfcc47f5e
imul rax, rcx
not rax
and r15, rax
ror r15, 0xa
shr r15, 8
movabs r10, 0xd364bdbe19db18db
lea rcx, [rbx + r10]
xor rcx, 0xffffffffc24a7453
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x3e5c75d7adbb61d8
mov r11, qword [rsi + rcx*8]
imul r11, rax
add r11, r9
movabs rcx, 0xb173314166a2e4b8
mov rax, r8
imul rax, rcx
xor r11, rax
shr r11, 0x1f
not r11
mov rax, r11
xor rax, rbx
mov qword [rsp + 0x230], rax
lea rcx, [r11 + r10]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r11b
movzx ecx, byte [rsi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x4f
mov eax, 0x8000003f
and ecx, eax
jge 0x140176abc
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, qword [rsp + 0x230]
ror rdx, cl
not rdx
imul rdx, r8
imul rcx, rdx, 0xfffffffff35dae0c
mov qword [rsp + 0x28], rcx
lea r9, [rcx + r10]
mov r10, r11
imul r10, r15
sub r10, r9
xor r10, r14
movzx ecx, r9b
mov dword [rsp + 0x230], ecx
and ecx, 0xf
and ecx, eax
jge 0x140176b06
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
rol r10, cl
mov rax, r9
sub rax, qword [0x14031d078]
xor r10, rax
movabs rax, 0x5790a12ef646fbbc
imul rdx, rax
movabs rax, 0x53a0c9724f1bcb59
sub rdx, rax
xor r10, rdx
xor r10, r8
xor r10, rbx
mov rax, r10
and rax, r12
je 0x140176e8e
sub rax, 1
je 0x140176d50
sub rax, 1
je 0x140176c56
cmp rax, 1
jne 0x140176f34
mov r14, r9
imul r14, r11
movabs rax, 0x21615498be083ea5
add rax, r10
xor r14, rax
ror r14, 0x30
shr r14, 0xc
xor r14, rbx
not r14
movabs rcx, 0x83571e35715c
mov rdx, qword [0x14031d088]
add rdx, rcx
movabs rax, 0xd3e638c64cf54905
xor rdx, rax
movzx eax, r14b
movzx ecx, r10b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db946d59da7
sub rax, r11
mov r11, rdx
xor r11, rax
mov rcx, r11
movabs rax, 0x2c9b4241e624e725
imul rcx, rax
mov eax, 0x970e4f4d
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8]
and cl, 0xf
movabs rax, 0x222cf0d0b67a93f2
sub rax, r14
shr rax, cl
mov qword [rsp + 0x20], rax
movabs rcx, 0xd36ce2467f65585d
add rcx, qword [rsp + 0x28]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [rsi + rcx*8]
imul rax, r10
sub rax, r15
xor qword [rsp + 0x20], rax
jmp 0x140176f34
movabs rax, 0xaaaaaa1a9717b273
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed551a6e3f
imul rcx, rax
movabs rdx, 0xfff17ca84075840f
mov rax, r8
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ab10780af
mov rdx, qword [rsp + 0x28]
imul rdx, rax
movabs r11, 0x2e4ba1a70337fe64
add r11, rcx
add r11, rdx
movabs rax, 0x277cd7be45c76513
mov rcx, r11
xor rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, r11
not r9
imul r9, qword [rsi + rcx*8]
xor r9, 0xffffffffc24264a3
lea ecx, [r10 - 0xf]
and cl, 0x3f
rol r9, cl
movabs rcx, 0xe795ea7d74ba91ed
mov rax, qword [rsp + 0x30]
xor rax, rcx
movabs rcx, 0x7c7a7dc6ab456e12
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x38
not rcx
movabs rax, 0x9b2de6b228af9cd0
imul rcx, rax
mov rax, r11
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r15b
and cl, 0x3f
ror rdx, cl
movabs rax, 0x2c9b4241e624e725
imul rdx, rax
mov qword [rsp + 0x20], rdx
jmp 0x140176f34
movabs rax, 0x66e99287cee2e5ed
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0xd364bdbe19db18da
mov rax, rbx
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
mov eax, dword [rsp + 0x230]
and eax, 0x8000003f
jge 0x140176dae
sub eax, r12d
or eax, 0xffffffc0
add eax, r12d
mov cl, al
rol r8, cl
movabs rcx, 0xd364bdbe19db18db
add rcx, r10
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x241e624e725
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7cbd3c45e
or r8, rax
mov rcx, qword [0x14031d070]
imul rcx, r14
sub rcx, r9
mov rax, r15
sub rax, r8
xor rcx, rax
movabs rax, 0xc7a7c6a69adbc453
xor rcx, rax
mov qword [rsp + 0x20], rcx
movabs rax, 0xcccccccccccccccd
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rbx
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x20]
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r9
imul rdx, qword [rsp + 0x20]
shr rdx, cl
mov rax, r11
sub rax, rdx
sub rax, rbx
movabs rbx, 0x789589455898849
add rbx, rax
xor rbx, r15
movzx eax, r11b
imul ecx, eax, 0xf6
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x140176f34
mov rax, rdi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r10
imul rax, qword [0x14031d080]
mov rdx, qword [rsi + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, r9
not r15
imul r15, r11
movabs rax, 0x7cd8a7de472a95b2
imul r15, rax
mov rax, r8
imul rax, rbx
mov rbx, r15
xor rbx, rax
imul r15, qword [0x14031d060], 0xfffffffff35dae0c
mov rdx, qword [0x14031d068]
sub r15, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140176f1f
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
ror r15, cl
movabs rax, 0xd364bdbe19db18db
add r15, rax
add r15, qword [rsp + 0x28]
movabs rax, 0xff055d7bb7619f7f
xor r14, rax
mov rax, rdi
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, rbx
imul r8, qword [rsi + r14*8]
not r9
imul r9, r10
imul r9, r15
imul r9, qword [rsp + 0x20]
movabs rcx, 0xf5ed7e87b0d2d5a3
xor rcx, r11
not rcx
xor rcx, r9
sub rcx, r8
call fcn.14015ded0
mov qword [0x140321f88], rax
mov dword [rsp + 0x88], r13d
mov dword [rsp + 0x8c], 0xec5344a2
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x130], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x138], rax
mov qword [rsp + 0xf0], rax
mov r14d, dword [rsp + 0x88]
movups xmm0, xmmword [rax + 0x58]
movups xmmword [rsp + 0x120], xmm0
movd ecx, xmm0
sub cx, 8
mov word [rsp + 0x120], cx
test r14d, r14d
je 0x14017706c
mov r8, qword [rsp + 0x128]
mov qword [rsp + 0x108], r8
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov qword [rsp + 0x140], r10
mov r9d, 0xf2dea7c0
mov dword [rsp + 0xc8], r9d
cmp r8, r10
je 0x140177063
movsx ecx, byte [r8]
mov byte [rsp + 0x238], cl
mov edx, ecx
imul ecx, ecx
add ecx, 0x31
xor ecx, 0x4764996c
xor edx, r9d
mov r9d, ecx
imul r9d, edx
mov dword [rsp + 0xc8], r9d
add r8, 2
mov qword [rsp + 0x108], r8
jmp 0x140177025
cmp r9d, r14d
jne 0x140177240
mov r9, qword [rax + 0x30]
mov qword [rsp + 0x148], r9
mov qword [rsp + 0x188], r9
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov qword [rsp + 0x150], rcx
mov r11d, ecx
add r11, r9
mov qword [rsp + 0x190], r11
shr rcx, 0x20
mov dword [rsp + 0x198], ecx
cmp r11, r9
je 0x140177240
mov esi, dword [r11 + 0x18]
mov dword [rsp + 0xcc], esi
mov edx, esi
dec esi
mov dword [rsp + 0xcc], esi
test edx, edx
je 0x140177240
mov r8d, dword [r11 + 0x20]
add r8, r9
mov r10d, dword [r8 + rsi*4]
add r10, r9
mov qword [rsp + 0x110], r10
mov edi, 0xf2dea7c0
mov dword [rsp + 0xe0], edi
mov ebx, 0x4764996c
movsx edx, byte [r10]
mov byte [rsp + 0x80], dl
add r10, r12
mov qword [rsp + 0x110], r10
test dl, dl
jne 0x1401775ba
cmp edi, dword [rsp + 0x8c]
jne 0x1401775b5
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov qword [rsp + 0x158], rdx
mov eax, dword [r11 + 0x24]
add rax, r9
mov qword [rsp + 0x160], rax
movzx eax, word [rax + rsi*2]
mov r15d, dword [rdx + rax*4]
add r15, r9
mov qword [rsp + 0x168], r15
cmp r15, r11
jbe 0x140177250
lea rax, [r11 + rcx]
cmp r15, rax
jae 0x140177250
mov qword [rsp + 0xd0], r15
mov dword [rsp + 0xb8], 0xf2dea7c0
mov r8d, 0xf2dea7c0
mov dword [rsp + 0xbc], r8d
mov r9d, r8d
movsx eax, byte [r15]
cmp al, 0x2e
je 0x1401771ca
mov byte [rsp + 0x58], al
mov ecx, eax
mov edx, eax
imul edx, eax
add edx, 0x31
xor edx, ebx
mov eax, r9d
xor eax, ecx
mov r9d, edx
imul r9d, eax
mov dword [rsp + 0xb8], r9d
add r15, r12
mov qword [rsp + 0xd0], r15
jmp 0x140177191
add r15, r12
mov qword [rsp + 0xd0], r15
movsx eax, byte [r15]
test al, al
je 0x1401771ff
mov byte [rsp + 0x60], al
mov ecx, eax
imul eax, eax
add eax, 0x31
xor eax, ebx
xor ecx, r8d
mov r8d, eax
imul r8d, ecx
mov dword [rsp + 0xbc], r8d
jmp 0x1401771ca
mov rax, qword [rsp + 0xb8]
mov qword [rsp + 0x88], rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x170], rax
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x178], rax
mov qword [rsp + 0xf0], rax
mov r14d, dword [rsp + 0x88]
mov rax, qword [rax]
mov qword [rsp + 0xf0], rax
jmp 0x140176fd4
mov qword [rsp + 0xc0], r13
movabs rax, 0x52c970c19cf809be
mov qword [rsp + 0xc0], rax
movabs rcx, 0xf33a52b7bc439503
add rcx, qword [rsp + 0xc0]
movabs rax, 0xba553662530b4e48
xor rcx, rax
sub rcx, qword [0x14031d050]
sub rcx, qword [0x14031d058]
movabs rax, 0xedf047f5e9a59be
sub rcx, rax
movabs rax, 0xf8f8cd96b665f659
xor rcx, rax
sub rcx, qword [0x14031d048]
movabs rax, 0x47d654b74072d428
add rcx, rax
mov rdx, qword [0x14031d040]
add rcx, rdx
movabs rax, 0x5a9179a66d436411
xor rcx, rax
movabs rax, 0x5f627dc49bc08404
sub rcx, rax
movabs rax, 0x363b3cd1830e4893
xor rcx, rax
movabs rax, 0x3483ce4316a69873
add rax, rcx
add rdx, rax
not rdx
movabs rcx, 0x13cce94adef10ca8
mov rax, qword [0x14031d038]
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b5210ef357
mov rcx, qword [0x14031d030]
xor rcx, rax
movabs rbx, 0xe0b56d94779667fd
add rbx, rdx
add rbx, rcx
movabs rax, 0x61e700a8ec1ec518
xor rbx, rax
mov qword [rsp + 0x230], rbx
mov qword [rsp + 0x180], rbx
mov qword [rsp + 0xc0], rbx
mov byte [rsp + 0x220], r13b
lea rdx, [rsp + 0x1a0]
lea rcx, [rsp + 0x220]
call fcn.1401655e0
mov rcx, rax
mov qword [rsp + 0xe8], rax
mov rax, r13
mov qword [rsp + 0xd8], rax
cmp rax, 0x31
jae 0x14017752a
xor edx, edx
movabs rcx, 0x13cce94adba99340
div rcx
add dl, 0x38
mov byte [rsp + 0x68], dl
mov r14b, dl
sar r14b, 7
or r14b, dl
mov byte [rsp + 0x70], r14b
mov al, r14b
shl al, 6
mov sil, r14b
sar sil, 2
or sil, al
movsx rcx, r14b
mov r11, rcx
sar r11, 2
or r11b, al
mov r9b, r14b
sar r9b, 5
mov al, r14b
shl al, 3
or r9b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov r8b, r14b
sar r8b, 4
mov al, r14b
shl al, 4
or r8b, al
mov bl, r14b
not bl
mov dil, r14b
ror dil, 7
lea eax, [r10 - 0x50]
add dil, al
mov rdx, qword [rsp + 0xd8]
mov rax, qword [rsp + 0xe8]
mov dl, byte [rdx + rax]
sub dl, sil
sub dl, 2
mov eax, 4
sub al, r11b
xor dl, al
sar rcx, 1
mov al, r14b
shl al, 7
or cl, al
sub dl, cl
sub dl, byte [0x14031d050]
sub dl, byte [0x14031d058]
sub dl, 0x3f
add dl, r11b
add dl, r14b
lea eax, [r11 + 7]
add al, r14b
xor dl, al
sub dl, byte [0x14031d048]
sub dl, r9b
sub dl, r14b
mov rcx, qword [0x14031d040]
sub dl, 0x50
add dl, cl
add dl, r11b
mov al, r8b
sub al, r9b
add al, sil
add al, r14b
xor dl, al
mov al, r14b
sub al, r8b
xor al, r14b
sub dl, al
sub dl, r10b
add dl, 0x30
add dl, r14b
xor dil, dl
mov al, r14b
add al, al
sub dil, al
add cl, 0x51
add dil, cl
add dil, r11b
add dil, sil
not dil
mov al, r14b
sar al, 7
or al, r14b
sub dil, al
mov al, bl
xor al, byte [0x14031d038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x14031d030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor dil, cl
mov byte [rsp + 0x78], dil
mov rax, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe8]
mov byte [rax + rcx], dil
add rax, r12
jmp 0x140177394
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x100], 0x31
mov r8, qword [rsp + 0x230]
mov rdx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x90]
call r15
nop
mov rcx, qword [rsp + 0xf8]
test rcx, rcx
je 0x140177595
mov rax, r13
mov qword [rsp + 0x118], rax
cmp rax, qword [rsp + 0x100]
jae 0x140177595
mov byte [rcx + rax], r13b
add rax, r12
mov qword [rsp + 0x118], rax
mov rcx, qword [rsp + 0xf8]
jmp 0x140177572
mov qword [rsp + 0xc0], r13
mov byte [rsp + 0x228], r13b
lea rcx, [rsp + 0x228]
call fcn.14016563c
nop
jmp 0x1401775e1
jmp 0x1401770c1
mov r8d, edx
imul edx, edx
add edx, 0x31
xor edx, ebx
xor r8d, edi
mov edi, edx
imul edi, r8d
mov dword [rsp + 0xe0], edi
jmp 0x1401770fb
mov ebx, 0x4764996c
lea rsi, [0x14031d060]
movabs rdi, 0xaaaaaaaaaaaaaaab
movabs rax, 0x4074000000000000
mov r15, qword [0x14031d060]
imul r15, rax
movabs rax, 0x674b000000000000
xor r15, rax
mov qword [rsp + 0x230], r15
movabs r11, 0x7fdb1afd79d4f414
mov rcx, r15
imul rcx, r11
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r14, r15
and r14, r11
imul r14, qword [rsi + rcx*8]
movabs rax, 0xf7978cade3a30f30
imul r14, rax
movabs rax, 0x6e2f1156f9812cb8
xor r14, rax
shr r14, 3
movabs rax, 0xffffff57b3fa1667
mov r9, r15
imul r9, rax
sub r9, 0x77b3750
xor r9, r14
xor r9, qword [0x14031d060]
mov rax, r14
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bba49a946
imul rax, rcx
not rax
and r9, rax
ror r9, 0x23
shr r9, 8
movabs r8, 0x8024e502862b0bec
lea rcx, [r15 + r8]
xor rcx, 0xffffffff84c7a24b
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x94760dfde0a99fe0
mov r10, qword [rsi + rcx*8]
imul r10, rax
add r10, r11
movabs rcx, 0xe8622ea8bb7901d0
mov rax, r14
imul rax, rcx
xor r10, rax
shr r10, 0x1f
not r10
lea rcx, [r10 + r8]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r10b
movzx ecx, byte [rsi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x57
and ecx, 0x8000003f
jge 0x14017774c
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rdx, r10
xor rdx, r15
ror rdx, cl
not rdx
imul rdx, r14
imul rax, rdx, 0xfffffffff884c8b0
mov qword [rsp + 0x28], rax
add r8, rax
mov cl, r8b
xor cl, 0xf8
and cl, 0xf
mov r11, r10
imul r11, r9
sub r11, r8
movabs rax, 0x6520e12b258a3239
xor r11, rax
rol r11, cl
mov rax, r8
sub rax, qword [0x14031d078]
xor r11, rax
movabs rax, 0x129cbf9f5b676dc0
imul rdx, rax
movabs rax, 0x434e8097ee29de70
add rdx, rax
xor r11, rdx
xor r11, r14
xor r11, r15
mov cl, r14b
and cl, 0x3f
mov rax, rdi
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r14
sub rdx, rax
mov rax, r11
imul rax, qword [0x14031d080]
mov r15, qword [rsi + rdx*8]
and r15, rax
xor r15, r14
ror r15, cl
imul r15, r8
not r9
imul r9, r10
movabs rax, 0x7cd8a7de01a743aa
imul r9, rax
mov rax, r15
imul rax, qword [rsp + 0x230]
xor r9, rax
mov al, r9b
not al
movzx ecx, al
mov r14, qword [0x14031d068]
movzx eax, r14b
xor ecx, eax
and ecx, 0x8000003f
jge 0x140177842
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
imul rdx, qword [0x14031d060], 0xfffffffff884c8b0
sub rdx, r14
ror rdx, cl
add rdx, qword [rsp + 0x28]
movabs rax, 0x7fdb1afd79d4f414
imul rdx, rax
movabs rax, 0x434e8097ee29de70
add rdx, rax
movabs rax, 0x7fdb1afd79d4f413
sub rax, qword [rsp + 0x28]
imul rdx, rax
imul rdx, r11
movabs rcx, 0xf5ed7e87f65f03bb
xor rcx, r10
not rcx
xor rcx, rdx
xor r15, r9
imul r15, qword [0x14031d060]
sub rcx, r15
call fcn.14015df84
mov qword [0x140321f78], rax
mov r14d, r13d
mov r15d, 0xe665a16a
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test r14d, r14d
je 0x140177928
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0x2d1a8b52
jmp 0x14017791a
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, ebx
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x1401778fe
cmp r9d, r14d
jne 0x140177a7c
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov r11d, ecx
add r11, r10
shr rcx, 0x20
cmp r11, r10
je 0x140177a7c
mov r8d, dword [r11 + 0x18]
test r8d, r8d
je 0x140177a7c
mov r9d, dword [r11 + 0x20]
dec r8d
mov dword [rsp + 0x20], r8d
mov edx, r8d
mov qword [rsp + 0x28], rdx
lea rdx, [r9 + r8*4]
mov r9d, dword [rdx + r10]
add r9, r10
mov edx, 0x2d1a8b52
mov r8b, byte [r9]
mov byte [rsp + 0x230], r8b
add r9, r12
test r8b, r8b
mov r8d, dword [rsp + 0x20]
je 0x1401779d4
mov r10d, edx
mov dl, byte [rsp + 0x230]
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, ebx
xor r8d, r10d
mov r10d, edx
imul r10d, r8d
mov dl, byte [r9]
add r9, r12
test dl, dl
jne 0x14017799e
mov dword [rsp + 0x30], r10d
mov r10, qword [rax + 0x30]
mov r8d, dword [rsp + 0x20]
mov edx, dword [rsp + 0x30]
cmp edx, r15d
je 0x1401779eb
test r8d, r8d
mov r9d, dword [r11 + 0x20]
jne 0x14017795c
jmp 0x140177a7c
mov edx, dword [r11 + 0x24]
add rdx, r10
mov rax, qword [rsp + 0x28]
movzx r8d, word [rdx + rax*2]
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r8*4]
add r9, r10
cmp r9, r11
jbe 0x140177a84
lea rax, [rcx + r11]
cmp r9, rax
jae 0x140177a84
mov r14d, 0x2d1a8b52
mov r15d, r14d
jmp 0x140177a3f
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, ebx
mov eax, r14d
xor eax, ecx
mov r14d, edx
imul r14d, eax
add r9, r12
mov al, byte [r9]
cmp al, 0x2e
jne 0x140177a23
jmp 0x140177a61
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, ebx
mov eax, r15d
xor eax, ecx
mov r15d, edx
imul r15d, eax
add r9, r12
mov al, byte [r9]
test al, al
jne 0x140177a48
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1401778d1
mov rcx, qword [rsp + 0x90]
call r9
movabs rax, 0x2b60000000000000
movabs r14, 0x65a8529142fca61a
movabs r8, 0x946e16fd6a777407
mov r15, qword [0x14031d060]
imul r15, rax
movabs rax, 0xdd70000000000000
xor r15, rax
mov rcx, r15
imul rcx, r8
mov qword [rsp + 0x28], rcx
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, r15
and r10, r8
imul r10, qword [rsi + rcx*8]
movabs rax, 0xa6977ee58fc83908
imul r10, rax
shr r10, 3
movabs rax, 0xacc1c74d15fff608
xor r10, rax
movabs rax, 0xffffff57f3ea1cfb
mov r13, r15
imul r13, rax
sub r13, 0x725c26c
xor r13, r10
xor r13, qword [0x14031d060]
mov rax, r10
imul rax, qword [0x14031d070]
movabs rcx, 0xb9de928bfa59a3da
imul rax, rcx
not rax
and r13, rax
ror r13, 0x2c
shr r13, 8
movabs r9, 0x6b91e90295888bf9
lea rcx, [r15 + r9]
xor rcx, 0xffffffffc4d7a8d7
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x7ea4d5f72f482918
mov rbx, qword [rsi + rcx*8]
imul rbx, rax
sub rbx, r9
movabs rcx, 0x95a4e0f529094ad8
mov rax, r10
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
lea rcx, [rbx + r9]
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [rsi + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0xcb
and ecx, 0x8000003f
jge 0x140177bed
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
mov rax, rbx
xor rax, r15
ror rax, cl
not rax
imul rax, r10
imul rcx, rax, 0xfffffffff8da3d94
mov qword [rsp + 0x230], rcx
add r9, rcx
movzx edx, r9b
mov cl, dl
xor cl, 4
and cl, 0xf
mov r11, rbx
imul r11, r13
sub r11, r9
xor r11, r14
rol r11, cl
movabs rcx, 0xb3989af899aabf0c
imul rax, rcx
movabs rcx, 0xda8525720e7a7cf
add rax, rcx
xor r11, rax
mov rax, r9
sub rax, qword [0x14031d078]
xor r11, rax
xor r11, r10
xor r11, r15
mov rax, r11
and eax, 3
je 0x140177fc2
sub rax, 1
je 0x140177e62
sub rax, 1
je 0x140177d6a
cmp rax, 1
jne 0x140178073
mov r14, r9
imul r14, rbx
movabs rax, 0xd4804c41ecff2f23
add rax, r11
xor r14, rax
ror r14, 0x14
shr r14, 0xc
xor r14, r15
not r14
movzx eax, r14b
movzx ecx, r11b
imul ecx, eax
and cl, 0x3f
movabs rdx, 0x835718a8ade0
add rdx, qword [0x14031d088]
movabs rax, 0x6b136c7ac63b06a3
xor rdx, rax
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db940484123
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, r8
mov eax, 0x919393c9
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov cl, byte [rsi + rcx*8]
and cl, 0xf
movabs r8, 0x8a8b69c958ac6a50
sub r8, r14
shr r8, cl
movabs rax, 0x6b9a0d8af8a06eff
mov rcx, qword [rsp + 0x230]
add rcx, rax
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r11
imul rax, qword [rsi + rcx*8]
imul rax, r11
sub rax, r13
xor r8, rax
jmp 0x140178073
movabs rax, 0xaaaaaa1a918a6ef7
mov rcx, r11
xor rcx, rax
movabs rax, 0x1206ed5387b2bb
imul rcx, rax
movabs rdx, 0xfff17ca846e8588b
mov rax, r10
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8ab79a5c2b
mov rdx, qword [rsp + 0x230]
imul rdx, rax
movabs rbx, 0xca3822241aa15afe
add rbx, rcx
add rbx, rdx
lea ecx, [r11 - 0xb]
and cl, 0x3f
movabs rax, 0x277cd7be435ab997
mov r8, rbx
xor r8, rax
mov rax, rdi
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r8, rax
mov r9, rbx
not r9
imul r9, qword [rsi + r8*8]
xor r9, 0xffffffffc4dfb827
rol r9, cl
movabs rcx, 0xd7a5eb3df2274d69
mov rax, qword [rsp + 0x28]
xor rax, rcx
movabs rcx, 0x7c7a7dc6add8b296
and rax, rcx
imul r9, rax
mov cl, r13b
and cl, 0x3f
mov rdx, r9
ror rdx, 0x30
not rdx
movabs rax, 0x9b2de6b232d8eec0
imul rdx, rax
mov rax, rbx
sub rax, r9
lea r8, [rdx + rax*4]
ror r8, cl
movabs r12, 0x946e16fd6a777407
imul r8, r12
jmp 0x140178073
movabs rax, 0xdd8393c4158c81a5
imul r11, rax
and edx, 0x8000003f
mov dword [rsp + 0x230], edx
jge 0x140177e8f
sub edx, r12d
or edx, 0xffffffc0
add edx, r12d
mov dword [rsp + 0x230], edx
movabs rax, 0xd79435e50d79435f
mul r11
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r11b
sub cl, dl
movabs rdx, 0x6b91e90295888bf8
mov rax, r15
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r10, rax
mov cl, byte [rsp + 0x230]
rol r10, cl
movabs rcx, 0x6b91e90295888bf9
add rcx, r11
mov rax, rdi
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0x16fd6a777407
mov rax, qword [rsi + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7cd4e18da
or r10, rax
mov rcx, qword [0x14031d070]
imul rcx, r14
sub rcx, r9
mov rax, r13
sub rax, r10
xor rcx, rax
movabs rax, 0xc7a7c6a69c4618d7
xor rcx, rax
mov qword [rsp + 0x230], rcx
movzx eax, bl
imul r8d, eax, 0xf2
and r8b, 0x3f
movabs rax, 0xcccccccccccccccd
mul r15
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r15
sub rcx, rax
or rcx, r12
xor edx, edx
mov rax, qword [rsp + 0x230]
div rcx
mov rcx, rdx
mov rdx, r11
imul rdx, r9
imul rdx, qword [rsp + 0x230]
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r15
movabs r15, 0x7895894531454cd
add r15, rax
xor r15, r13
mov cl, r8b
rol r15, cl
not r15
mov r8, qword [rsp + 0x230]
jmp 0x140178073
mov cl, r10b
and cl, 0x3f
mov rax, rdi
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rdx, r10
sub rdx, rax
mov rax, r11
imul rax, qword [0x14031d080]
mov r8, qword [rsi + rdx*8]
and r8, rax
xor r10, r8
ror r10, cl
imul r10, r9
not r13
imul r13, rbx
movabs rax, 0x7cd8a7de41b74936
imul r13, rax
mov rax, r10
imul rax, r15
mov r15, r13
xor r15, rax
mov al, r15b
not al
movzx ecx, al
mov r8, qword [0x14031d068]
movzx eax, r8b
xor ecx, eax
and ecx, 0x8000003f
jge 0x140178043
sub ecx, r12d
or ecx, 0xffffffc0
add ecx, r12d
imul r13, qword [0x14031d060], 0xfffffffff8da3d94
sub r13, r8
ror r13, cl
movabs rax, 0x6b91e90295888bf9
add r13, rax
add r13, qword [rsp + 0x230]
movabs r8, 0x946e16fd6a777407
movabs rax, 0xff055d7bb1fc43fb
xor r14, rax
mov rax, rdi
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r10, r15
imul r10, qword [rsi + r14*8]
not r9
imul r9, r11
imul r9, r13
imul r9, r8
movabs rcx, 0xf5ed7e87b64f0927
xor rcx, rbx
not rcx
xor rcx, r9
sub rcx, r10
call fcn.14015dfcc
mov qword [0x140321f48], rax
mov rax, qword [rsp + 0x50]
jmp 0x14017570e