Function at 0x140087ae4
Capabilities:
Access peb ldr_data
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xe8
and dword [rbp + 0x6f], 0
mov dword [rbp + 0x6f], 0x597858f9
mov eax, dword [rbp + 0x6f]
add eax, 0xe34ec7b6
xor eax, 0x5d0b7553
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5f0f7b55
xor eax, 0x8ebe96dc
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xb7320d5
add eax, ecx
xor eax, 0x40ba9e3e
add eax, 0x6f059be3
xor eax, 0x1f8776e1
mov edx, dword [0x14035f030]
xor edx, 0x2072c68d
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xdf8d3972
sub edx, eax
sub edx, ecx
add edx, 0x23f2aaf0
xor edx, 0x2ffacfca
mov dword [rbp + 0x6f], edx
movsxd rax, edx
mov qword [rbp + 0xf], rax
and dword [rbp + 0x6f], 0
movdqa xmm0, xmmword [0x140336d20]
movdqu xmmword [rbp - 0x19], xmm0
mov byte [rbp - 9], 0x5f
xor r15d, r15d
movabs r13, 0x13cce94adba2b9c0
xor edx, edx
mov rax, r15
div r13
add dl, 0x39
mov r14b, dl
sar r14b, 7
or r14b, dl
mov sil, r14b
shl sil, 6
mov al, r14b
sar al, 2
or sil, al
mov r8b, r14b
sar r8b, 5
mov al, r14b
shl al, 3
or r8b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov dl, r14b
sar dl, 4
mov al, r14b
shl al, 4
or dl, al
mov r9b, r14b
add r9b, r9b
mov r11b, r14b
sar r11b, 7
mov bl, r14b
not bl
mov dil, byte [rbp + r15 - 0x19]
sub dil, sil
sub dil, 2
mov eax, 4
sub al, sil
xor dil, al
mov cl, r14b
shl cl, 7
mov al, r14b
sar al, 1
or cl, al
sub dil, cl
sub dil, byte [0x14035f058]
sub dil, byte [0x14035f050]
sub dil, 0x3f
add dil, sil
add dil, r14b
lea eax, [rsi + 7]
add al, r14b
xor dil, al
sub dil, r8b
sub dil, r14b
sub dil, byte [0x14035f048]
sub dil, 0x50
mov rcx, qword [0x14035f040]
add dil, sil
add dil, cl
mov al, dl
sub al, r8b
add al, sil
add al, r14b
xor dil, al
mov al, r14b
sub al, dl
xor al, r14b
sub dil, al
sub dil, r10b
add dil, 0x30
add dil, r14b
mov al, r11b
or al, r9b
sub al, 0x50
add al, r10b
xor dil, al
add sil, sil
add dil, sil
sub dil, r9b
add cl, 0x51
add dil, cl
not dil
or r11b, r14b
sub dil, r11b
mov al, bl
xor al, byte [0x14035f038]
sub dil, al
mov al, r14b
xor al, 0x40
sub dil, al
mov al, r14b
xor al, byte [0x14035f030]
add dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor cl, dil
mov byte [rbp + r15 - 0x19], cl
inc r15
cmp r15, 0x11
jb 0x140087ba7
lea rax, [rbp - 0x19]
mov qword [rbp - 0x29], rax
mov qword [rbp - 0x21], 0x11
mov r12, qword [rbp - 0x29]
mov qword [rsp + 0x30], r12
movdqa xmm0, xmmword [0x140336d50]
movdqu xmmword [rbp - 8], xmm0
mov byte [rbp + 8], 0x5f
xor r15d, r15d
mov r13, qword [rbp + 0x67]
movabs r12, 0x13cce94adba2b9c0
xor edx, edx
mov rax, r15
div r12
add dl, 0x39
mov r14b, dl
sar r14b, 7
or r14b, dl
mov sil, r14b
shl sil, 6
mov al, r14b
sar al, 2
or sil, al
mov r8b, r14b
sar r8b, 5
mov al, r14b
shl al, 3
or r8b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov dl, r14b
sar dl, 4
mov al, r14b
shl al, 4
or dl, al
mov r9b, r14b
add r9b, r9b
mov r11b, r14b
sar r11b, 7
mov bl, r14b
not bl
mov dil, byte [rbp + r15 - 8]
sub dil, sil
sub dil, 2
mov eax, 4
sub al, sil
xor dil, al
mov cl, r14b
shl cl, 7
mov al, r14b
sar al, 1
or cl, al
sub dil, cl
sub dil, byte [0x14035f058]
sub dil, byte [0x14035f050]
sub dil, 0x3f
add dil, sil
add dil, r14b
lea eax, [rsi + 7]
add al, r14b
xor dil, al
sub dil, r8b
sub dil, r14b
sub dil, byte [0x14035f048]
sub dil, 0x50
mov rcx, qword [0x14035f040]
add dil, sil
add dil, cl
mov al, dl
sub al, r8b
add al, sil
add al, r14b
xor dil, al
mov al, r14b
sub al, dl
xor al, r14b
sub dil, al
sub dil, r10b
add dil, 0x30
add dil, r14b
mov al, r11b
or al, r9b
sub al, 0x50
add al, r10b
xor dil, al
add sil, sil
add dil, sil
sub dil, r9b
add cl, 0x51
add dil, cl
not dil
mov al, bl
xor al, byte [0x14035f038]
sub dil, al
or r11b, r14b
sub dil, r11b
mov al, r14b
xor al, byte [0x14035f030]
add dil, al
mov al, r14b
xor al, 0x40
sub dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor cl, dil
mov byte [rbp + r15 - 8], cl
inc r15
cmp r15, 0x11
jb 0x140087d34
lea rax, [rbp - 8]
mov qword [rbp - 0x39], rax
mov qword [rbp - 0x31], 0x11
mov rax, qword [r13 + 0x10]
mov rdx, qword [rax]
mov rax, qword [r13 + 8]
mov r9, qword [rsp + 0x30]
mov r8, qword [rbp - 0x39]
mov rcx, qword [rax]
call fcn.14006af84
mov rcx, rax
mov rax, qword [r13]
mov qword [rax], rcx
mov rcx, qword [rbp - 0x39]
xor r14d, r14d
test rcx, rcx
je 0x140087ee4
mov eax, r14d
cmp qword [rbp - 0x31], r14
jbe 0x140087ee4
mov byte [rax + rcx], r14b
inc rax
cmp rax, qword [rbp - 0x31]
jae 0x140087ee4
mov rcx, qword [rbp - 0x39]
jmp 0x140087ed1
mov rcx, qword [rbp - 0x29]
test rcx, rcx
je 0x140087f09
mov rax, r14
cmp qword [rbp - 0x21], r14
jbe 0x140087f09
mov byte [rax + rcx], r14b
inc rax
cmp rax, qword [rbp - 0x21]
jae 0x140087f09
mov rcx, qword [rbp - 0x29]
jmp 0x140087ef6
mov qword [rsp + 0x40], r14
movabs rax, 0x3b2a36a6bdfa774c
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], r14
movabs rax, 0xf6df777ea33bacf4
mov qword [rsp + 0x38], rax
movabs rcx, 0xcc5ad49d3bab63a
add rcx, qword [rsp + 0x38]
movabs rax, 0xdb8b4fedad9d65bf
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x4ed45970eb1f40df
add rcx, rax
movabs rax, 0x707459a5690f89e
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x5829ab45f1989e91
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0xa56e8657ca7f8230
xor rcx, rax
movabs rax, 0x2b02fde73c8040d0
sub rcx, rax
movabs rax, 0x1fc4c32da2c1fc3f
xor rcx, rax
movabs rdx, 0x95ab432afdd3b923
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0xec3316b5274ee92c
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0x13cce94ad8b116d3
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rdi, 0x1f4a914b1e10895a
add rdi, rdx
add rdi, rcx
movabs rax, 0xe0927db4857ff744
xor rdi, rax
mov qword [rsp + 0x38], rdi
movabs rcx, 0xf33a52b5f0857c83
add rcx, qword [rsp + 0x40]
movabs rax, 0xa1d536625309828a
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a6c8e08c
add rcx, rax
movabs rax, 0xf8f8cd988953073b
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9b0835e69
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a879a83803
xor rcx, rax
movabs rax, 0x5f627dc6d5c224f6
sub rcx, rax
movabs rax, 0xfa3b3cd268fbb2c4
xor rcx, rax
movabs rax, 0xb483ce44d5d27e48
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad7c21446
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5283debb9
xor r11, rax
movabs rdx, 0xe0b56d8d616ccd1b
add rdx, rcx
add rdx, r11
movabs rax, 0x7db0610cd88ae896
xor rdx, rax
mov qword [rsp + 0x40], rdx
and rdx, rdi
mov rax, qword [r13]
mov rcx, qword [rax]
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x40], r14
cmp rcx, rdx
je 0x14008a13d
mov dword [rbp + 0x77], r14d
mov dword [rbp + 0x77], 0xdb3084ea
mov eax, dword [rbp + 0x77]
add eax, 0xe30061b4
xor eax, 0xf7097504
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x590e9023
xor eax, 0x970e3676
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xc2dd8c4d
add eax, ecx
xor eax, 0x89140a98
add eax, 0x26cc3fba
xor eax, 0x4fbeac55
lea edx, [rcx - 0x1d070aa6]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd78bffda
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x28740025
add ecx, 0x2b628573
add ecx, edx
xor ecx, 0x2603fa82
mov dword [rbp + 0x77], ecx
movsxd rdx, ecx
mov rax, qword [r13]
mov rcx, qword [rax]
test rcx, rcx
jne 0x1400881aa
mov rsi, r14
jmp 0x1400881be
cmp dword [rdx + rcx], r14d
je 0x1400881a5
movsxd rsi, dword [rdx + rcx]
add rsi, 4
add rsi, rdx
add rsi, rcx
mov qword [rbp + 0x67], rsi
mov dword [rbp + 0x77], r14d
mov qword [rbp - 0x79], r14
movabs rax, 0x112b450d4eb801c2
mov qword [rbp - 0x79], rax
mov qword [rsp + 0x48], r14
movabs rax, 0x7c4e418e3ba1f419
mov qword [rsp + 0x48], rax
movabs rcx, 0xf33a52b91ecc3003
add rcx, qword [rsp + 0x48]
movabs rax, 0x55553662530cb0d0
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f62c1f38f
sub rcx, rax
movabs rax, 0xf8f8cd954e5338ed
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0xc7d654b55f3265c1
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a4d8df9345
xor rcx, rax
movabs rax, 0x5f627dc437a81d28
sub rcx, rax
movabs rax, 0x5e3b3cd0d1bee6ce
xor rcx, rax
movabs rdx, 0x3483ce41bdcfb9b0
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ae47b2f14
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b51b84d0eb
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d9a0742ae69
add rdx, rax
add rdx, rcx
movabs rax, 0xcd7dd00335a4775c
xor rdx, rax
mov qword [rsp + 0x48], rdx
movabs rcx, 0xf33a52b5dc2cf283
add rcx, qword [rbp - 0x79]
movabs rax, 0x17d5366253096e31
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a705ea2a
add rcx, rax
movabs rax, 0xf8f8cd989dfcf363
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9cc218dbc
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a890dd356b
xor rcx, rax
movabs rax, 0x5f627dc70a4f4e4e
sub rcx, rax
movabs rax, 0x4a3b3cd273289a88
xor rcx, rax
movabs rax, 0xb483ce44e99c9c82
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad770b21e
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b5288f4de1
xor r11, rax
movabs rax, 0xe0b56d8d0fbb8373
add rcx, rax
add rcx, r11
movabs rax, 0x31b304926e61925e
xor rcx, rax
mov qword [rbp - 0x79], rcx
and rcx, rdx
mov qword [rsp + 0x48], r14
mov qword [rbp - 0x79], r14
cmp rsi, rcx
je 0x14008a13d
movabs rsi, 0x1df66b6d12c76a9e
movabs rax, 0x16bf8a0000000000
movabs r14, 0x24b5c406f9317cab
mov r11, qword [0x14035f060]
imul r11, rax
movabs rax, 0xe7c48f0000000000
xor r11, rax
mov r12, r11
imul r12, rsi
movabs rbx, 0xaaaaaaaaaaaaaaab
mov rax, rbx
mul r12
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r12
sub rcx, rax
lea rdi, [0x14035f060]
mov r8, r11
and r8, rsi
imul r8, qword [rdi + rcx*8]
movabs rax, 0x2eac13ab5d506c84
imul r8, rax
shr r8, 3
movabs rax, 0x36e31e2a6b798847
xor r8, rax
movabs rax, 0xffffff57cc8bb5a3
mov r10, r11
imul r10, rax
sub r10, 0x45d4274
xor r10, r8
xor r10, qword [0x14035f060]
mov rax, r8
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928bc5380a82
imul rax, rcx
not rax
and r10, rax
ror r10, 0x2d
shr r10, 8
movabs r9, 0xe2099492ed389562
lea rcx, [r11 + r9]
xor rcx, 0xfffffffffbb6018f
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x7fe5263784215088
mov rdi, qword [rdi + rcx*8]
imul rdi, rax
add rdi, rsi
movabs rcx, 0xfb2a761ce45afe28
mov rax, r8
imul rax, rcx
xor rdi, rax
shr rdi, 0x1f
not rdi
mov r15, rdi
xor r15, r11
lea rcx, [rdi + r9]
mov rax, rbx
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, dil
lea rdx, [0x14035f060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x93
and ecx, 0x8000003f
jge 0x14008853b
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r8
imul rdx, r15, 0xfffffffffba2bd8c
mov qword [rsp + 0x30], rdx
lea rbx, [rdx + r9]
mov r9, rdi
imul r9, r10
sub r9, rbx
xor r9, r14
mov cl, bl
xor cl, 0xfc
and cl, 0xf
rol r9, cl
mov rax, rbx
sub rax, qword [0x14035f078]
xor r9, rax
movabs rax, 0x29ba439fe0c0f468
imul r15, rax
movabs rax, 0x65f984e1260b3984
sub r15, rax
xor r9, r15
xor r9, r8
xor r9, r11
mov rax, r9
movabs r15, 0xd79435e50d79435f
and eax, 2
je 0x1400888e2
sub rax, 1
je 0x1400887b6
sub rax, 1
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x1400886c8
cmp rax, 1
jne 0x140088998
mov r14, rbx
imul r14, rdi
movabs rax, 0xc3da5212b21d9366
add rax, r9
xor r14, rax
ror r14, 0x14
shr r14, 0xc
xor r14, r11
not r14
movabs rcx, 0x835727c90488
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0xe28b11ea81eab162
xor rdx, rax
movzx eax, r9b
movzx ecx, r14b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97f29e87b
sub rax, rdi
mov rdi, rdx
xor rdi, rax
mov rcx, rdi
imul rcx, rsi
mov eax, 0xaef23a91
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14035f060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs rsi, 0x4662b6ff2a6e2975
sub rsi, r14
shr rsi, cl
movabs rax, 0xe211b91b49aedfc0
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r9
imul rax, qword [r12 + rcx*8]
imul rax, r9
sub rax, r10
xor rsi, rax
jmp 0x140088998
movabs rax, 0xaaaaaa1aaeebc7af
mov rcx, r9
xor rcx, rax
movabs rax, 0x1206ed6ce61be3
imul rcx, rax
movabs rbx, 0xfff17ca87989f1d3
mov rax, r8
xor rax, rbx
sub rcx, rax
movabs rax, 0xffff7e8a88fbf573
imul rdx, rax
movabs rdi, 0x9437423cc773da79
add rdi, rcx
add rdi, rdx
movabs rax, 0x277cd7be7c3b10cf
mov rcx, rdi
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rbx, rdi
not rbx
lea rax, [0x14035f060]
imul rbx, qword [rax + rcx*8]
xor rbx, 0xfffffffffbbe117f
lea ecx, [r9 - 0x13]
and cl, 0x3f
rol rbx, cl
movabs rax, 0x2058504280000000
xor r12, rax
movabs rax, 0x7c7a7dc692b91bce
and r12, rax
imul rbx, r12
mov rcx, rbx
ror rcx, 0x19
not rcx
movabs rax, 0x9b2de6b2cf5e4ba0
imul rcx, rax
mov rax, rdi
sub rax, rbx
lea rdx, [rcx + rax*4]
mov cl, r10b
and cl, 0x3f
ror rdx, cl
mov rax, rsi
mov rsi, rdx
imul rsi, rax
jmp 0x140088998
movabs rax, 0x2b183e725a20b84
imul r9, rax
mov rax, r15
mul r9
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r9b
sub cl, dl
movabs rdx, 0xe2099492ed389561
mov rax, r11
imul rax, rdx
xor rax, r14
not rax
shl rax, cl
xor r8, rax
mov cl, bl
and cl, 0x3f
rol r8, cl
movabs rcx, 0xe2099492ed389562
add rcx, r9
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffeb6d12c76a9e
lea rax, [0x14035f060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r8, rax
movabs rax, 0xffffc7a7f22fb182
or r8, rax
mov rsi, qword [0x14035f070]
imul rsi, r14
sub rsi, rbx
mov rax, r10
sub rax, r8
xor rsi, rax
movabs rax, 0xc7a7c6a6a327b18f
xor rsi, rax
movabs rax, 0xcccccccccccccccd
mul r11
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r11
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rsi
div rcx
mov rcx, rdx
mov rdx, r9
imul rdx, rbx
imul rdx, rsi
shr rdx, cl
mov rax, rdi
sub rax, rdx
sub rax, r11
movabs r11, 0x78958946c75fd95
add r11, rax
xor r11, r10
movzx eax, dil
imul ecx, eax, 0xea
and cl, 0x3f
rol r11, cl
not r11
jmp 0x140088998
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul r8
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r8
sub rcx, rax
mov rax, r9
imul rax, qword [0x14035f080]
lea rdx, [0x14035f060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r8
and r8b, 0x3f
mov cl, r8b
mov r8, rdx
ror r8, cl
imul r8, rbx
not r10
imul r10, rdi
movabs rax, 0x7cd8a7de7ed6e06e
imul r10, rax
mov rax, r8
imul rax, r11
mov r11, r10
xor r11, rax
imul r10, qword [0x14035f060], 0xfffffffffba2bd8c
mov rdx, qword [0x14035f068]
sub r10, rdx
mov al, r11b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140088983
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r10, cl
movabs rax, 0xe2099492ed389562
add r10, rax
add r10, qword [rsp + 0x30]
movabs rax, 0xff055d7b8e9deaa3
xor r14, rax
mov rax, r15
mul r14
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r14, rax
xor r8, r11
lea r15, [0x14035f060]
imul r8, qword [r15 + r14*8]
not rbx
imul rbx, r9
imul rbx, r10
imul rbx, rsi
movabs rcx, 0xf5ed7e87892ea07f
xor rcx, rdi
not rcx
xor rcx, rbx
sub rcx, r8
call fcn.140086dd0
mov qword [0x14036d9e8], rax
movabs rdi, 0x6984fcda553709b
movabs r11, 0xf57d4b07529c648c
mov rbx, qword [0x14035f070]
shl rbx, 0x3e
movabs rax, 0x1000000000000000
xor rbx, rax
mov rcx, rbx
imul rcx, rdi
mov qword [rbp - 0x41], rcx
movabs r9, 0xaaaaaaaaaaaaaaab
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r10, rbx
and r10, rdi
imul r10, qword [r15 + rcx*8]
movabs rax, 0x10ba3251ddbfdd18
imul r10, rax
shr r10, 3
movabs rax, 0xdaa3b86ef9fdc218
xor r10, rax
movabs rax, 0xffffff57cc0535ad
mov r14, rbx
imul r14, rax
sub r14, 0xbd408fe
xor r14, r10
xor r14, qword [0x14035f060]
mov rax, r10
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928bc5b68a8c
imul rax, rcx
not rax
and r14, rax
ror r14, 0x26
shr r14, 8
movabs r8, 0xf967b0325aac8f65
lea rcx, [rbx + r8]
xor rcx, 0xfffffffffb388181
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0xfc13ffcf8b458378
mov rsi, qword [r15 + rcx*8]
imul rsi, rax
add rsi, rdi
movabs rcx, 0x92c7bcc918488310
mov rax, r10
imul rax, rcx
xor rsi, rax
shr rsi, 0x1f
not rsi
mov r12, rsi
xor r12, rbx
lea rcx, [rsi + r8]
mov rax, r9
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, sil
movzx ecx, byte [r15 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x9d
mov eax, 0x8000003f
and ecx, eax
jge 0x140088b5d
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r12, cl
not r12
imul r12, r10
imul rdx, r12, 0xfffffffff42bf702
mov qword [rsp + 0x30], rdx
lea r9, [rdx + r8]
mov r8, rsi
imul r8, r14
sub r8, r9
xor r8, r11
movzx r15d, r9b
mov ecx, r15d
xor ecx, 2
and ecx, 0xf
and ecx, eax
jge 0x140088b9c
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rax, 0xc5fae5db72556e36
imul r12, rax
movabs rax, 0x52095367fbf60227
add r12, rax
xor r8, r12
mov rax, r9
sub rax, qword [0x14035f078]
xor r8, rax
xor r8, r10
xor r8, rbx
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x140088f2a
sub rax, 1
je 0x140088de6
sub rax, 1
movabs r15, 0xaaaaaaaaaaaaaaab
je 0x140088cf4
cmp rax, 1
jne 0x140088fdf
mov r11, r9
imul r11, rsi
movabs rax, 0xd4736a306bcfde41
add rax, r8
xor r11, rax
ror r11, 0x1e
shr r11, 0xc
xor r11, rbx
not r11
movabs rcx, 0x83572747848a
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0xf9e5354a36f02b69
xor rdx, rax
movzx eax, r11b
movzx ecx, r8b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97fa76875
sub rax, rsi
mov rsi, rdx
xor rsi, rax
mov rcx, rsi
imul rcx, rdi
mov eax, 0xae7cba9f
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r12, [0x14035f060]
mov cl, byte [r12 + rcx*8]
and cl, 0xf
movabs rdi, 0xbab7dc90686ffb24
sub rdi, r11
shr rdi, cl
movabs rax, 0xf96fd4bab7a559b9
mov rcx, qword [rsp + 0x30]
add rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
imul rax, qword [r12 + rcx*8]
imul rax, r8
sub rax, r14
xor rdi, rax
jmp 0x140088fdf
movabs rax, 0xaaaaaa1aae6547a1
mov rcx, r8
xor rcx, rax
movabs rax, 0x1206ed6c689bed
imul rcx, rax
movabs r9, 0xfff17ca8790771dd
mov rax, r10
xor rax, r9
sub rcx, rax
movabs rax, 0xffff7e8a8875757d
imul rdx, rax
movabs rsi, 0xb28aaa0edd69a2ce
add rsi, rcx
add rsi, rdx
movabs rax, 0x277cd7be7cb590c1
mov rcx, rsi
xor rcx, rax
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r9, rsi
not r9
lea rax, [0x14035f060]
imul r9, qword [rax + rcx*8]
xor r9, 0xfffffffffb309171
lea ecx, [r8 - 0x1d]
and cl, 0x3f
rol r9, cl
movabs rcx, 0x1428714600000000
mov rax, qword [rbp - 0x41]
xor rax, rcx
movabs rcx, 0x7c7a7dc692379bc0
and rax, rcx
imul r9, rax
mov rcx, r9
ror rcx, 0x30
not rcx
movabs rax, 0x9b2de6b2cd644b98
imul rcx, rax
mov rax, rsi
sub rax, r9
lea rdx, [rcx + rax*4]
mov cl, r14b
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140088fdf
movabs rax, 0xa712044a4523c2f3
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, 0xf967b0325aac8f64
mov rax, rbx
imul rax, rdx
xor rax, r11
not rax
shl rax, cl
xor r10, rax
and r15d, 0x8000003f
jge 0x140088e40
dec r15d
or r15d, 0xffffffc0
inc r15d
mov cl, r15b
rol r10, cl
movabs rcx, 0xf967b0325aac8f65
add rcx, r8
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xfcda553709b
lea rax, [0x14035f060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f2a1318c
or r10, rax
mov rdi, qword [0x14035f070]
imul rdi, r11
sub rdi, r9
mov rax, r14
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6a3a93181
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul rbx
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, rbx
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r8
imul rdx, r9
imul rdx, rdi
shr rdx, cl
mov rax, rsi
sub rax, rdx
sub rax, rbx
movabs rbx, 0x78958946cfb7d9b
add rbx, rax
xor rbx, r14
movzx eax, sil
imul ecx, eax, 0xe4
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x140088fdf
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul r10
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r10
sub rcx, rax
mov rax, r8
imul rax, qword [0x14035f080]
lea rdx, [0x14035f060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r10
and r10b, 0x3f
mov cl, r10b
mov r10, rdx
ror r10, cl
imul r10, r9
not r14
imul r14, rsi
movabs rax, 0x7cd8a7de7e586060
imul r14, rax
mov rax, r10
imul rax, rbx
mov rbx, r14
xor rbx, rax
imul r14, qword [0x14035f060], 0xfffffffff42bf702
mov rdx, qword [0x14035f068]
sub r14, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140088fca
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r14, cl
movabs rax, 0xf967b0325aac8f65
add r14, rax
add r14, qword [rsp + 0x30]
movabs rax, 0xff055d7b8e136aad
xor r11, rax
mov rax, r15
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r11, rax
xor r10, rbx
lea rax, [0x14035f060]
imul r10, qword [rax + r11*8]
not r9
imul r9, r8
imul r9, r14
imul r9, rdi
movabs rcx, 0xf5ed7e8789a02071
xor rcx, rsi
not rcx
xor rcx, r9
sub rcx, r10
call fcn.140086b24
mov qword [0x14036d9b0], rax
mov rax, qword [r13 + 0x20]
mov rcx, qword [r13 + 0x18]
mov rcx, qword [rcx]
sub rcx, qword [rax]
add qword [rbp + 0x67], rcx
xor r9d, r9d
mov dword [rbp + 0x7f], r9d
mov dword [rbp + 0x7f], 0x8cd50a60
mov eax, dword [rbp + 0x7f]
add eax, 0xf35c7d38
xor eax, 0x128d8561
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
add eax, 0x1ac05b8a
xor eax, 0x7670aa84
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xfea884f4
add eax, ecx
xor eax, 0xe66afb36
add eax, 0x1ac5bf13
xor eax, 0x6b701bb2
mov edx, dword [0x14035f030]
xor edx, 0x18328fb7
sub edx, eax
mov eax, dword [0x14035f038]
xor eax, 0xe7cd7048
sub edx, eax
sub edx, ecx
sub edx, 0x11f93aa6
xor edx, 0x23a37b78
mov dword [rbp + 0x7f], edx
movsxd r8, edx
mov rax, qword [r13]
mov rcx, qword [rax]
test rcx, rcx
jne 0x1400890e6
mov rsi, r9
jmp 0x1400890fa
cmp dword [r8 + rcx], r9d
je 0x1400890e1
movsxd rsi, dword [r8 + rcx]
add rsi, 4
add rsi, r8
add rsi, rcx
mov dword [rbp + 0x7f], r9d
mov qword [rbp - 0x69], r9
movabs rax, 0x508c7a2f943d4505
mov qword [rbp - 0x69], rax
mov qword [rbp - 0x71], r9
movabs rax, 0x234315dd78b65873
mov qword [rbp - 0x71], rax
movabs rcx, 0xf33a52b592f55d83
add rcx, qword [rbp - 0x71]
movabs rax, 0x82d53662530924f9
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a7e190e9
add rcx, rax
movabs rax, 0xf8f8cd98e85966b7
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x87d654ba2f84807e
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a8e4609b5f
xor rcx, rax
movabs rax, 0x5f627dc71e765d3a
sub rcx, rax
movabs rax, 0xf23b3cd297c6aec5
xor rcx, rax
movabs rdx, 0xb483ce4530d3ac6f
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ad64bd3ca
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b529b42c35
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d8be9f6109f
add rdx, rax
add rdx, rcx
movabs rax, 0xc7841561aa2190d2
xor rdx, rax
mov qword [rbp - 0x71], rdx
movabs rcx, 0xf33a52b100373a03
add rcx, qword [rbp - 0x69]
movabs rax, 0x5f5536625304923b
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f4a6634ad
sub rcx, rax
movabs rax, 0xf8f8cd9d8d6282c5
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0xc7d654c064b599ae
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179ae1bc17bdd
xor rcx, rax
movabs rax, 0x5f627dc5f5b92dd0
sub rcx, rax
movabs rax, 0xe3b3cd4e14a5676
xor rcx, rax
movabs rax, 0x3483ce49a38e9cf6
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ac400db3c
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b53bff24c3
xor r11, rax
movabs rax, 0xe0b56d79ac748a91
add rcx, rax
add rcx, r11
movabs rax, 0x26efd050a03f6eb4
xor rcx, rax
mov qword [rbp - 0x69], rcx
and rcx, rdx
and qword [rbp - 0x71], 0
and qword [rbp - 0x69], 0
cmp rsi, rcx
je 0x14008a13d
mov rax, qword [r13 + 0x20]
mov rcx, qword [r13 + 0x18]
mov rcx, qword [rcx]
sub rcx, qword [rax]
add rcx, rsi
mov qword [rbp - 0x41], rcx
and dword [rsp + 0x20], 0
mov dword [rsp + 0x20], 0x4364e959
mov eax, dword [rsp + 0x20]
add eax, 0x6b08
xor eax, 0x5d85c7
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5540d658
xor eax, 0x29cb24dc
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xd548e8c9
add eax, ecx
xor eax, 0xd830f7d4
add eax, 0x6e5139d7
xor eax, 0xf69e219a
lea edx, [rcx + 0x126e3a80]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0x27cf0820
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0xd830f7df
add ecx, 0xcfa7b389
add ecx, edx
xor ecx, 0xf42ef3e0
mov dword [rsp + 0x20], ecx
mov dword [rsp + 0x2c], ecx
and dword [rsp + 0x20], 0
xor ebx, ebx
mov edi, 0x2ce5a6c2
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 ebx, ebx
je 0x140089410
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xc467b9de
jmp 0x140089402
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 0x1400893e2
cmp r9d, ebx
jne 0x140089516
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov r11d, ecx
add r11, r9
shr rcx, 0x20
cmp r11, r9
je 0x140089516
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x140089516
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0xc467b9de
jmp 0x140089476
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, 0x4764996c
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
mov dl, byte [r10]
inc r10
test dl, dl
jne 0x140089458
cmp r14d, edi
je 0x14008948e
test esi, esi
jne 0x140089443
jmp 0x140089516
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + rsi*2]
mov r15d, dword [rdx + rax*4]
add r15, r9
cmp r15, r11
jbe 0x14008951e
lea rax, [rcx + r11]
cmp r15, rax
jae 0x14008951e
mov ebx, 0xc467b9de
mov edi, ebx
jmp 0x1400894db
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, ebx
xor eax, ecx
mov ebx, edx
imul ebx, eax
inc r15
mov al, byte [r15]
cmp al, 0x2e
jne 0x1400894be
jmp 0x1400894fb
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r15
mov al, byte [r15]
test al, al
jne 0x1400894e4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x1400893b6
xor ebx, ebx
mov edi, 0xa82429ee
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 ebx, ebx
je 0x140089590
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xf258324a
jmp 0x140089582
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 0x140089562
cmp r9d, ebx
jne 0x14008969d
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov r11d, ecx
add r11, r9
shr rcx, 0x20
cmp r11, r9
je 0x14008969d
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x14008969d
mov edx, dword [r11 + 0x20]
dec esi
lea rdx, [rdx + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0xf258324a
jmp 0x1400895f6
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, 0x4764996c
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
mov dl, byte [r10]
inc r10
test dl, dl
jne 0x1400895d8
cmp r14d, edi
je 0x140089612
test esi, esi
mov edx, dword [r11 + 0x20]
jne 0x1400895c3
jmp 0x14008969d
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + rsi*2]
mov r8d, dword [rdx + rax*4]
add r8, r9
cmp r8, r11
jbe 0x1400896a5
lea rax, [rcx + r11]
cmp r8, rax
jae 0x1400896a5
mov ebx, 0xf258324a
mov edi, ebx
jmp 0x14008965f
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, ebx
xor eax, ecx
mov ebx, edx
imul ebx, eax
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x140089642
jmp 0x140089682
movsx ecx, al
mov edx, ecx
imul edx, ecx
add edx, 0x31
xor edx, 0x4764996c
mov eax, edi
xor eax, ecx
mov edi, edx
imul edi, eax
inc r8
mov al, byte [r8]
test al, al
jne 0x140089668
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140089536
call r8
mov r14d, eax
xor r12d, r12d
mov qword [rbp - 0x59], r12
movabs rax, 0xe3de4afff55dfe2e
mov qword [rbp - 0x59], rax
mov qword [rbp - 0x61], r12
movabs rax, 0xcb6b635e01d43392
mov qword [rbp - 0x61], rax
movabs rcx, 0xf33a52b9c9975203
add rcx, qword [rbp - 0x59]
movabs rax, 0x77553662530d5b9b
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f64c254f5
sub rcx, rax
movabs rax, 0xf8f8cd94a0dcea65
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0xc7d654b4775ba91a
add rcx, rax
mov rsi, qword [0x14035f040]
add rcx, rsi
movabs rax, 0x5a9179a4160fe07d
xor rcx, rax
movabs rax, 0x5f627dc40021a030
sub rcx, rax
movabs rax, 0x4e3b3cd07c53ff75
xor rcx, rax
movabs rdx, 0x3483ce4117b0259e
add rdx, rcx
add rdx, rsi
not rdx
movabs rcx, 0x13cce94ae7265b9c
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b518d9a463
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rdi, 0xe0b56d9cb5586af1
add rdi, rdx
add rdi, rcx
movabs rax, 0x7dede9723dc15d54
xor rdi, rax
mov qword [rbp - 0x59], rdi
movabs rcx, 0xf33a52b5d516d883
add rcx, qword [rbp - 0x61]
movabs rax, 0xfdd536625309671b
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a71b2c78
add rcx, rax
movabs rax, 0xf8f8cd98a52f65cb
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x7d654b9d5c00e07
add rcx, rax
add rcx, rsi
movabs rax, 0x5a9179a898f26b13
xor rcx, rax
movabs rax, 0x5f627dc70c03c8a6
sub rcx, rax
movabs rax, 0x1a3b3cd276b3e039
xor rcx, rax
movabs rax, 0xb483ce44f0811bcc
add rcx, rax
add rcx, rsi
not rcx
movabs rax, 0x13cce94ad75459b6
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b528aba649
xor r11, rax
movabs rbx, 0xe0b56d8cf384830b
add rbx, rcx
add rbx, r11
movabs rax, 0x30f3230275cb98e6
xor rbx, rax
mov qword [rbp - 0x61], rbx
lea rdx, [rsp + 0x2c]
mov ecx, r14d
call r15
movsxd rcx, eax
and rbx, rdi
mov qword [rbp - 0x61], r12
mov qword [rbp - 0x59], r12
cmp rcx, rbx
je 0x14008a13d
mov dword [rsp + 0x24], r12d
mov dword [rsp + 0x24], 0x31bb1237
mov eax, dword [rsp + 0x24]
add eax, 0xc8d885b4
xor eax, 0x1b095add
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x58c0188f
xor eax, 0xb19eb1e6
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xe65ea76f
add eax, ecx
xor eax, 0xa6e98188
sub eax, 0x10654ab6
xor eax, 0x3cd36b94
lea r8d, [rcx - 0x39645aa]
add r8d, eax
not r8d
mov eax, dword [0x14035f038]
xor eax, 0xd723606a
sub r8d, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x28dc9f95
add ecx, 0xc25c3603
add ecx, r8d
xor ecx, 0x9b90f3b2
mov dword [rsp + 0x24], ecx
cmp dword [rsp + 0x2c], ecx
setbe al
mov dword [rsp + 0x24], r12d
test al, al
je 0x140089963
mov rdx, qword [rbp + 0x67]
mov rcx, qword [r13 + 0x28]
call fcn.140087948
jmp 0x14008a141
movabs rdi, 0xc7522f0e8140f7f7
movabs r15, 0xf270c877fd1b7ea2
mov rbx, r12
movabs rax, 0xa2e885041ecf8768
movabs r10, 0xd6ba1ab0829abbb6
mov rsi, qword [0x14035f070]
imul rsi, rax
not rsi
movabs rdx, 0x2945e54f78d6b758
mov rax, qword [0x14035f060]
xor rax, rdx
and rsi, rax
ror rsi, 0x1a
shr rsi, 8
movabs rax, 0xdf29ee1b321f2428
mov r9, qword [0x14035f070]
imul r9, rax
movabs r8, 0x38add0f17ebf0809
sub r9, r8
movabs rax, 0xd54815e67fffffff
xor r9, rax
shr r9, 0x1f
not r9
lea rcx, [r9 + r8]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, r9b
lea rdx, [0x14035f060]
movzx ecx, byte [rdx + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x4d
mov edx, 0x8000003f
and ecx, edx
jge 0x140089a38
dec ecx
or ecx, 0xffffffc0
inc ecx
mov rax, r9
ror rax, cl
not rax
movabs rcx, 0x239c3bc222af0b34
mov r12, rax
imul r12, rcx
lea r11, [r12 + r8]
mov r8, r9
imul r8, rsi
sub r8, r11
xor r8, r15
movzx r14d, r11b
mov ecx, r14d
xor ecx, 2
and ecx, 0xf
and ecx, edx
jge 0x140089a7b
dec ecx
or ecx, 0xffffffc0
inc ecx
rol r8, cl
movabs rcx, 0xe8b201065bb2fb2c
imul rax, rcx
movabs rcx, 0x1ba65b67d9ae9051
sub rax, rcx
xor r8, rax
mov rax, r11
sub rax, qword [0x14035f078]
xor r8, rax
xor r8, r10
mov rax, r8
xor rax, 0xfffffffffffffffe
and eax, 3
je 0x140089da4
sub rax, 1
je 0x140089ca0
sub rax, 1
je 0x140089bce
cmp rax, 1
jne 0x140089e22
mov r15, r11
imul r15, r9
movabs rax, 0x95b491da847a8665
add rax, r8
xor r15, rax
ror r15, 0x22
shr r15, 0xc
not r15
movabs rcx, 0x83572407e55a
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x382f558911a3cdd5
xor rdx, rax
movzx eax, r15b
movzx ecx, r8b
imul ecx, eax
and cl, 0x3f
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db97ce709a5
sub rax, r9
mov r9, rdx
xor r9, rax
mov rcx, r9
imul rcx, rdi
mov eax, 0xad3cdb4f
add rcx, rax
movabs r14, 0xaaaaaaaaaaaaaaab
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea rax, [0x14035f060]
mov cl, byte [rax + rcx*8]
and cl, 0xf
movabs rdi, 0x9f7d98e78339df90
sub rdi, r15
shr rdi, cl
movabs rcx, 0x38b5f579de77b38d
add rcx, r12
mov rax, r14
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r8
lea rdx, [0x14035f060]
imul rax, qword [rdx + rcx*8]
imul rax, r8
sub rax, rsi
xor rdi, rax
jmp 0x140089e22
movabs rcx, 0xaaaaaa1aad252671
mov r9, r8
xor r9, rcx
movabs rcx, 0x1206ed6f28fa3d
imul r9, rcx
movabs rcx, 0xffff7e8a8b3514ad
imul r12, rcx
movabs rcx, 0x6b33e34eb2ed8b07
add r9, rcx
add r9, r12
movabs rax, 0x277cd7be7ff5f111
mov rcx, r9
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r11, r9
not r11
lea rax, [0x14035f060]
imul r11, qword [rax + rcx*8]
xor r11, 0xfffffffff870f0a1
lea ecx, [r8 - 0xd]
and cl, 0x3f
rol r11, cl
movabs rax, 0x58100280000000
imul r11, rax
mov rcx, r11
ror rcx, 0xe
not rcx
movabs rax, 0x9b2de6b2c065ccd8
imul rcx, rax
mov rax, r9
sub rax, r11
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, 0x3f
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140089e22
movabs rax, 0x49ac7a33c8946cbd
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, 0xd8f378802e4815d
shl rdx, cl
mov rax, r10
mov r10, rdx
xor r10, rax
and r14d, 0x8000003f
jge 0x140089cf3
dec r14d
or r14d, 0xffffffc0
inc r14d
mov cl, r14b
rol r10, cl
movabs rcx, 0x38add0f17ebf0809
add rcx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffef0e8140f7f7
lea rax, [0x14035f060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r10, rax
movabs rax, 0xffffc7a7f1e1505c
or r10, rax
mov rdi, qword [0x14035f070]
imul rdi, r15
sub rdi, r11
mov rax, rsi
sub rax, r10
xor rdi, rax
movabs rax, 0xc7a7c6a6a0e95051
xor rdi, rax
mov rax, r8
imul rax, r11
imul rax, rdi
mov rbx, r9
sub rbx, rax
movabs rax, 0x78958946fbb1c4b
add rbx, rax
xor rbx, rsi
movzx eax, r9b
imul ecx, eax, 0xf4
and cl, 0x3f
rol rbx, cl
not rbx
jmp 0x140089e22
mov rcx, r8
imul rcx, qword [0x14035f080]
and rcx, qword [0x14035f080]
mov rax, r10
mov r10, rcx
xor r10, rax
ror r10, 0x36
imul r10, r11
mov rbx, rsi
not rbx
imul rbx, r9
movabs rax, 0x7cd8a7de7d1801b0
imul rbx, rax
imul rsi, qword [0x14035f060], 0xfffffffffa4c0cee
mov rdx, qword [0x14035f068]
sub rsi, rdx
mov al, bl
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140089e0f
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x38add0f17ebf0809
add rsi, rax
add rsi, r12
movabs rcx, 0xff055d7b8d530b7d
xor r15, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul r15
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r15, rax
xor r10, rbx
lea rax, [0x14035f060]
imul r10, qword [rax + r15*8]
not r11
imul r11, r8
imul r11, rsi
imul r11, rdi
movabs rcx, 0xf5ed7e878ae041a1
xor rcx, r9
not rcx
xor rcx, r11
sub rcx, r10
call fcn.140086b6c
mov qword [0x14036d998], rax
mov rdx, qword [rbp - 0x41]
mov rcx, qword [r13 + 0x28]
call fcn.140087948
mov rsi, rax
xor r14d, r14d
mov qword [rbp - 0x49], r14
movabs rax, 0xf363850e7a3d188e
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x51], r14
movabs rax, 0xa53ee993a5dea51b
mov qword [rbp - 0x51], rax
movabs rcx, 0xf33a52b9c03c8203
add rcx, qword [rbp - 0x51]
movabs rax, 0xa7553662530d5241
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0xedf047f64a64485
sub rcx, rax
movabs rax, 0xf8f8cd94aa5d25a5
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0xc7d654b4840e6e72
add rcx, rax
mov rdi, qword [0x14035f040]
add rcx, rdi
movabs rax, 0x5a9179a420bb75bd
xor rcx, rax
movabs rax, 0x5f627dc402b3bd70
sub rcx, rax
movabs rax, 0xce3b3cd08101b24c
xor rcx, rax
movabs rdx, 0x3483ce4120c979ee
add rdx, rcx
add rdx, rdi
not rdx
movabs rcx, 0x13cce94ae700f05c
mov r10, qword [0x14035f038]
mov rax, r10
xor rax, rcx
sub rdx, rax
movabs rax, 0xec3316b518ff0fa3
mov r11, qword [0x14035f030]
mov rcx, r11
xor rcx, rax
movabs rax, 0xe0b56d9c8f89b731
add rdx, rax
add rdx, rcx
movabs rax, 0x1f0df7be2f526e94
xor rdx, rax
mov qword [rbp - 0x51], rdx
movabs rcx, 0xf33a52b5ce925583
add rcx, qword [rbp - 0x49]
movabs rax, 0x7ad5366253096096
xor rcx, rax
sub rcx, qword [0x14035f050]
sub rcx, qword [0x14035f058]
movabs rax, 0x7120fb80a72eba01
add rcx, rax
movabs rax, 0xf8f8cd98abcdfad7
xor rcx, rax
sub rcx, qword [0x14035f048]
movabs rax, 0x87d654b9de98edda
add rcx, rax
add rcx, rdi
movabs rax, 0x5a9179a8a061907f
xor rcx, rax
movabs rax, 0x5f627dc70e809ada
sub rcx, rax
movabs rax, 0x323b3cd279f655dd
xor rcx, rax
movabs rax, 0xb483ce44f6d7ff37
add rcx, rax
add rcx, rdi
not rcx
movabs rax, 0x13cce94ad73a47aa
xor r10, rax
sub rcx, r10
movabs rax, 0xec3316b528c5b855
xor r11, rax
movabs rax, 0xe0b56d8cd9189cff
add rcx, rax
add rcx, r11
movabs rax, 0x402b42c90fadfb72
xor rcx, rax
mov qword [rbp - 0x49], rcx
and rcx, rdx
mov qword [rbp - 0x51], r14
mov qword [rbp - 0x49], r14
cmp rsi, rcx
jne 0x14008a098
mov rax, rsi
jmp 0x14008a141
mov r8, qword [r13 + 0x28]
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x28], 0x479df495
mov eax, dword [rsp + 0x28]
add eax, 0x828b3
xor eax, 0xbe07920c
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
sub eax, 0x5365a778
xor eax, 0x8192505b
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xd2757dad
add eax, ecx
xor eax, 0xaff72b9d
sub eax, 0x59da2f6a
xor eax, 0x949e097
lea edx, [rcx - 0x47439b34]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xd0001ef6
sub edx, eax
mov eax, dword [0x14035f030]
xor eax, 0x2fffe109
add eax, 0x97b58088
add edx, eax
xor edx, 0x6c414ca6
mov dword [rsp + 0x28], edx
mov eax, dword [rsp + 0x2c]
sub eax, edx
lea rdx, [rsi + rax*8]
mov rcx, r8
call fcn.140087948
nop
mov dword [rsp + 0x28], r14d
jmp 0x14008a141
mov rax, qword [rbp + 0xf]
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret