Function at 0x140167040
Capabilities:
Encode data using xor

Disassembly:
mov rdx, qword [rsp + 0x60]
mov ecx, eax
mov eax, dword [rsp + 0x4c]
cmp byte [rdx], 0
cmove eax, ecx
mov dword [rsp + 0x74], eax
jmp 0x1400997cc
mov eax, dword [rsp + 0x74]
add rsp, 0x78
ret
push rbp
push rsi
sub rsp, 0x228
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x118], rdx
mov qword [rbp + 0x120], rcx
mov eax, 0x10
mov qword [rbp + 0x130], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x128], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0x130]
mov rcx, rsp
mov qword [rbp + 0x138], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x140], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
add rsp, 0x20
mov qword [rbp + 0x150], rax
add rax, 0x60
mov qword [rbp + 0x148], rax
mov ecx, 0xf894
mov edx, 0x101f
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x150]
mov word [rbp + 0x15e], cx
cmp byte [rax + 0x60], 0
jne 0x1401687bc
mov rcx, qword [rbp + 0x118]
mov ax, word [rbp + 0x15e]
mov byte [rbp + 0x107], al
mov edx, 1
sub rsp, 0x20
call fcn.1400321d0
mov r8b, byte [rbp + 0x107]
mov rax, qword [rbp + 0x118]
add rsp, 0x20
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x108], rcx
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
movabs rdx, 0x8d226de5aa5a1a6d
movabs rax, 0x8d226de5aa5a1a6c
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp + 0x110], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x1401671a1
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1401671c1
mov rcx, qword [rbp + 0x110]
mov rax, qword [rbp + 0x108]
mov rdx, qword [rbp + 0x118]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
mov eax, dword [0x1402b1328]
xor eax, 0x636ee44
mov r8d, dword [0x1402b132c]
mov ecx, 0x543c470c
xor ecx, 0xabc3b8f3
mov edx, r8d
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
sub eax, 0x186b863f
mov ecx, 0xd085b921
xor ecx, 0x7908cbf2
or eax, ecx
sub eax, 0x3207a5f7
cmp eax, 0x87a22ab0
jbe 0x1401687c6
mov r8, qword [rbp + 0x120]
mov eax, dword [0x1402b1330]
mov ecx, dword [0x1402b1334]
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x148]
and eax, 0xf7234fb4
imul eax, eax, 0x25af9f4a
xor eax, 0x83ab95d5
mov ecx, 0x98dec316
mov r8, qword [r8]
test r8, r8
sete r8b
mov dl, byte [rdx]
test dl, dl
setne dl
mov byte [rbp + 0x105], dl
or dl, r8b
mov byte [rbp + 0x106], dl
cmp eax, ecx
je 0x1401687c6
mov al, byte [rbp + 0x106]
test al, 1
jne 0x14016811e
jmp 0x140167280
mov ecx, 0xed60
mov edx, 0x5aa
sub rsp, 0x20
call fcn.14009026b
mov rcx, qword [rbp + 0x148]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp + 0x103], dl
cmp cl, 0
mov byte [rbp + 0x104], al
je 0x1401672bb
mov al, byte [rbp + 0x103]
mov cl, byte [rbp + 0x104]
mov byte [rbp + 0x102], cl
test al, 1
jne 0x1401672da
jmp 0x140167ffe
mov rcx, qword [rbp + 0x128]
mov ax, 0xfefc
xor ax, 0xfc03
mov word [rcx], ax
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0xf8], rcx
cmp byte [rax], 0
jne 0x140167ffe
mov eax, dword [0x1402b1338]
mov edx, dword [0x1402b133c]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
mov r8d, edx
and r8d, ecx
mov ecx, 0x173006fe
xor ecx, 0x173006fc
imul ecx, r8d
sub ecx, edx
sub eax, ecx
mov edx, 0x15242e9a
xor edx, 0xeadbd165
mov ecx, eax
xor ecx, edx
and ecx, 0x315bc948
mov edx, 0xa59de8e1
xor edx, 0x94c621a9
mov r8d, 0x2f463183
xor r8d, 0xd0b9ce7c
xor edx, r8d
and eax, edx
or ecx, eax
mov edx, 0xffffffff
xor edx, 0xd2ab1fc6
mov eax, ecx
xor eax, edx
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xf2f982c9
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xf2f982c9
mov r8d, 0x7ee26f5e
xor r8d, 0x8c1bed97
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x3ec51cfb
je 0x1401687cf
mov rax, qword [rbp + 0xf8]
mov ecx, dword [0x1402b1340]
sub ecx, dword [0x1402b1344]
mov edx, 0x8a02c79c
xor edx, 0x85f84dff
xor ecx, edx
xor ecx, 0xd0e6066
sub ecx, 0x928ae08a
mov dword [rbp + 0xcc], ecx
mov rdx, qword [rax]
movabs rax, 0xfc8c385ca5d53569
add rdx, rax
add rdx, 1
movabs rax, 0xfc8c385ca5d53569
sub rdx, rax
lea rcx, [rbp + 0x198]
sub rsp, 0x20
call fcn.140031800
mov rdx, qword [rbp + 0xf8]
mov eax, dword [rbp + 0xcc]
add rsp, 0x20
mov rcx, qword [rbp + 0x198]
mov qword [rbp + 0xd0], rcx
mov rcx, qword [rbp + 0x1a0]
mov qword [rbp + 0xd8], rcx
mov rcx, qword [rdx]
mov qword [rbp + 0xe0], rcx
mov rdx, qword [rdx + 8]
mov qword [rbp + 0xe8], rdx
cmp rcx, 0
setg cl
mov byte [rbp + 0xf7], cl
cmp eax, 0xd130b23f
jae 0x1401673c9
mov rax, qword [rbp + 0xd0]
mov cl, byte [rbp + 0xf7]
test cl, 1
mov qword [rbp + 0xc0], rax
jne 0x1401674a8
jmp 0x1401678e7
mov rdx, qword [rbp + 0xe0]
xor eax, eax
mov ecx, eax
sub rcx, 1
mov rax, rdx
sub rax, rcx
mov qword [rbp + 0xb8], rax
xor rdx, 0xffffffffffffffff
mov rcx, rax
add rcx, 1
xor rax, 0xffffffffffffffff
or rax, rdx
add rax, rcx
movabs rcx, 0x4379aef02870405d
movabs rdx, 0x4379aef02870405d
xor rcx, rdx
cmp rax, rcx
jge 0x140167519
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov qword [rbp + 0xc0], rax
jmp 0x1401678e7
mov rax, qword [rbp + 0xb8]
cmp rax, 0
jge 0x140167662
mov ecx, dword [0x1402b1348]
mov edx, dword [0x1402b134c]
xor edx, 0x6f48668a
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf718f79b
mov r8d, 0xaa35ff80
xor r8d, 0x5d2d081b
mov ecx, 0xe6520f2d
xor ecx, 0x19adf0d2
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xf718f79b
or eax, 0xf718f79b
imul eax, edx
add eax, ecx
mov ecx, 0x7bc6e78a
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xa187fc7
xor edx, 0xc3e6052e
mov r8d, 0x5d1eb8d6
xor r8d, 0xa2e14729
xor edx, r8d
or eax, edx
and ecx, 0xc9fe7ae9
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x5c27a874
jae 0x1401687d8
mov rcx, qword [rbp + 0xb8]
mov eax, dword [0x1402b1350]
mov edx, dword [0x1402b1354]
xor edx, 0xb13ad8e4
imul eax, edx
xor edx, edx
sub edx, 0x82f770af
add eax, edx
sub eax, 0x61a2d151
mov r8d, 0x9375d9cb
xor r8d, 0x8f699b9
xor edx, edx
div r8d
mov dword [rbp + 0xb4], eax
mov eax, 0xd14c51d6
xor eax, 0x63acc2cf
mov dword [rbp + 0xb0], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
mov ecx, dword [rbp + 0xb0]
mov eax, dword [rbp + 0xb4]
add rsp, 0x20
cmp eax, ecx
ja 0x1401687d8
mov rax, qword [rbp + 0xd0]
mov qword [rbp + 0xc0], rax
jmp 0x1401678e7
mov rax, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xd8]
add rcx, 8
add rcx, rdx
mov qword [rbp + 0x98], rcx
add rax, 8
mov qword [rbp + 0xa0], rax
xor eax, eax
mov qword [rbp + 0xa8], rax
mov rax, qword [rbp + 0xa8]
mov qword [rbp + 0x90], rax
mov eax, dword [0x1402b1358]
mov r8d, dword [0x1402b135c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xb7778bda
xor r9d, 0x48887425
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
or eax, 0xc12021e2
and eax, 0x20fcba11
mov ecx, 0x35e70068
xor edx, edx
div ecx
cmp eax, 0x3c93280a
jae 0x1401687e1
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0xe0]
mov r8, qword [rbp + 0x98]
mov r9, qword [rbp + 0xa0]
mov r10d, dword [0x1402b1360]
mov eax, dword [0x1402b1364]
mov r11d, 0xc64446ad
xor r11d, 0xa2ba42b1
xor eax, r11d
sub r10d, eax
mov r11d, 0xe81220fc
xor r11d, 0x632db84e
mov eax, r10d
or eax, r11d
xor eax, 0xffffffff
or r10d, 0x8b3f98b2
mov r11d, 0xfc00be2f
xor r11d, 0x3ff41d0
xor r10d, r11d
or eax, r10d
xor eax, 0xffffffff
mov r10d, 0xaf6534ed
xor r10d, 0x988fd1e7
sub eax, r10d
sub eax, 0x649ba5cf
mov r9b, byte [r9 + rcx]
mov byte [r8 + rcx], r9b
mov r9, rcx
and r9, 1
shl r9, 1
mov r8, rcx
xor r8, 1
add r8, r9
mov qword [rbp + 0x80], r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0x8f], cl
cmp eax, 0x2e16eb55
jb 0x1401687e1
mov rax, qword [rbp + 0x80]
mov cl, byte [rbp + 0x8f]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x1401677e4
jmp 0x140167699
mov r9, qword [rbp + 0xe0]
mov rdx, qword [rbp + 0xd0]
mov rax, r9
add rax, rdx
mov rcx, rax
xor rcx, rdx
movabs rdx, 0x1b0a45a9677689aa
movabs r8, 0xe4f5ba5698897655
xor rdx, r8
mov r8, rax
xor r8, rdx
movabs rdx, 0xc5b5877d7f3b0b12
movabs r10, 0xb3fed486a2d3abb7
xor rdx, r10
and rdx, r8
movabs r11, 0x14793474bf4a7c4a
movabs r8, 0x6232678f62a2dcef
xor r11, r8
movabs r8, 0xa4bf0254a339bce5
movabs r10, 0x5b40fdab5cc6431a
xor r8, r10
xor r11, r8
mov r10, rax
and r10, r11
movabs rsi, 0x7c486d2a4cb6a98d
movabs r8, 0x83b792d5b3495672
xor rsi, r8
mov r8, r9
xor r8, rsi
movabs rsi, 0x764b53fbdde8a0a5
and r8, rsi
and r9, r11
or rdx, r10
or r8, r9
xor rdx, r8
and rcx, rdx
movabs rdx, 0xaa02a556c7f6b3e7
movabs r8, 0xaa02a556c7f6b3e7
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0xc0], rax
jge 0x1401678e7
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov qword [rbp + 0xc0], rax
mov rax, qword [rbp + 0xd8]
mov dl, byte [rbp + 0x102]
mov rcx, qword [rbp + 0xc0]
mov qword [rbp + 0x70], rcx
mov byte [rax + rcx + 8], dl
xor eax, eax
mov edx, eax
sub rdx, rcx
xor eax, eax
sub rax, 1
add rdx, rax
movabs rax, 0x843bd0dd80c77299
movabs r8, 0x843bd0dd80c77299
xor rax, r8
sub rax, rdx
mov qword [rbp + 0x78], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x977bff1888ff2f2d
movabs rdx, 0x977bff1888ff2f2d
xor rcx, rdx
cmp rax, rcx
jge 0x140167972
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0x70]
add rsp, 0x20
mov qword [rbp + 0x68], rax
jmp 0x140167986
mov rax, qword [rbp + 0x78]
mov rcx, qword [rbp + 0xd8]
mov byte [rcx + rax + 8], 0
mov qword [rbp + 0x68], rax
mov rcx, qword [rbp + 0x118]
mov rdx, qword [rbp + 0x68]
mov qword [rbp + 0x60], rdx
sub rsp, 0x20
call fcn.1400321d0
mov rax, qword [rbp + 0x60]
add rsp, 0x20
movabs rcx, 0x6187178a2ffdb798
movabs rdx, 0x6187178a2ffdb798
xor rcx, rdx
cmp rax, rcx
jle 0x140167e3f
mov rcx, qword [rbp + 0x60]
movabs rdx, 0x73df60eebcec250e
movabs rax, 0x73df60eebcec250f
xor rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rbp + 0x58], rax
movabs rdx, 0x6ae3ac15d6225f76
movabs r8, 0x951c53ea29dda089
xor rdx, r8
xor rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0xee7af5c811a5150a
xor rdx, r8
or rax, rcx
movabs rcx, 0x4578ee1a1e0117ff
movabs r8, 0xab021bd20fa402f5
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xa7dc4b28cb92c3
movabs rdx, 0xa7dc4b28cb92c3
xor rcx, rdx
cmp rax, rcx
jge 0x140167a77
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140167e3f
mov eax, dword [0x1402b1368]
mov r8d, dword [0x1402b136c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0x8d4c4bbe
xor ecx, 0x72b3b441
mov r9d, r8d
xor r9d, ecx
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x63c0a11d
xor ecx, 0xd3810a7a
or eax, ecx
mov ecx, 0xf7a1e897
xor edx, edx
div ecx
mov edx, 0x4863271d
xor edx, 0x519459bf
mov ecx, eax
and ecx, edx
mov edx, 0x1b3387ed
xor edx, 0x1b3387ef
imul ecx, edx
xor eax, 0x19f77ea2
add eax, ecx
mov ecx, 0xb5c82001
xor ecx, 0x8e25e28b
cmp eax, ecx
ja 0x1401687ea
mov rcx, qword [rbp + 0x58]
mov eax, dword [0x1402b1370]
add eax, dword [0x1402b1374]
mov edx, 0xffffffff
xor edx, 0xff4e5dd1
add eax, edx
add eax, 1
add eax, 0x839245f9
mov edx, 0xdae09a30
xor edx, 0xdae09a30
sub edx, eax
xor eax, eax
sub eax, 0x30309c3a
add edx, eax
xor eax, eax
sub eax, edx
cmp rcx, 0
setl cl
mov byte [rbp + 0x57], cl
cmp eax, 0x45b70b6d
jbe 0x1401687ea
mov al, byte [rbp + 0x57]
test al, 1
jne 0x140167b65
jmp 0x140167ba9
mov rcx, qword [rbp + 0x58]
movabs rdx, 0xf98779a2cc6678ba
movabs rax, 0xf98779a2cc6678ba
xor rdx, rax
movabs r8, 0x963ac2c4b6ca662b
movabs rax, 0xe9c53d3b493599d4
xor r8, rax
sub rsp, 0x20
call fcn.140018506
add rsp, 0x20
jmp 0x140167e3f
mov rax, qword [rbp + 0xd8]
mov rdx, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x108]
mov rcx, qword [rcx]
add rcx, 8
add rcx, qword [rdx]
mov qword [rbp + 0x38], rcx
add rax, 8
mov qword [rbp + 0x40], rax
xor eax, eax
mov qword [rbp + 0x48], rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 0x30], rax
mov eax, dword [0x1402b1378]
mov edx, dword [0x1402b137c]
xor edx, 0x54284b1
xor ecx, ecx
sub ecx, edx
sub eax, ecx
sub eax, 0x18b538ce
mov ecx, 0xea5f5eb5
xor ecx, 0xea5f5eb5
mov edx, 0x3b239416
xor edx, 0x59c973d8
sub ecx, edx
sub eax, ecx
sub eax, 0x7d255435
cmp eax, 0x61a2563a
je 0x1401687f3
mov rcx, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x60]
mov r8, qword [rbp + 0x38]
mov r9, qword [rbp + 0x40]
mov eax, dword [0x1402b1380]
xor eax, dword [0x1402b1384]
xor eax, 0x59745760
add eax, 0x4bbc339f
mov esi, 0x2207af05
xor esi, 0x97a2a444
mov r10d, 0x3d516f41
xor r10d, 0xc2ae90be
xor esi, r10d
mov r11d, eax
and r11d, esi
mov r10d, eax
or r10d, esi
xor r10d, 0xffffffff
imul r10d, r11d
mov esi, 0x469a5104
xor esi, 0xf33f5a45
mov r11d, eax
and r11d, esi
or eax, 0xb5a50b41
imul eax, r11d
add eax, r10d
mov r9b, byte [r9 + rcx]
mov byte [r8 + rcx], r9b
xor r8d, r8d
mov r9d, r8d
sub r9, 1
mov r8, rcx
sub r8, r9
mov qword [rbp + 0x20], r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0xd7475f00
jae 0x140167c29
mov rax, qword [rbp + 0x20]
mov cl, byte [rbp + 0x2f]
test cl, 1
mov qword [rbp + 0x48], rax
jne 0x140167ce4
jmp 0x140167bda
mov eax, dword [0x1402b1388]
xor eax, 0x4c7a45e3
mov r8d, dword [0x1402b138c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xd63ec0d6
xor r9d, 0x29c13f29
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x2ab836b
shl ecx, 1
add eax, 0x2ab836b
sub eax, ecx
mov ecx, 0x49a5e51e
xor ecx, 0x7d2957ce
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x39715c74
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x5aeb44c8
xor r8d, 0x639a18bc
mov edx, eax
and edx, r8d
or eax, 0x39715c74
imul eax, edx
add eax, ecx
cmp eax, 0x7fcc3dd0
je 0x1401687fc
mov r8, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x118]
mov eax, dword [0x1402b1390]
mov edx, dword [0x1402b1394]
mov r9d, 0xd18132a2
xor r9d, 0xd4acdf0f
add eax, r9d
sub eax, edx
sub eax, 0x52dedad
mov r9d, 0xdf2b7b42
xor r9d, 0x14666162
xor edx, edx
div r9d
add eax, 0xd277fe0c
add eax, 0xd9e9ed4f
mov r9, qword [rcx]
mov rcx, r9
and rcx, r8
shl rcx, 1
mov rdx, r9
xor rdx, r8
add rdx, rcx
mov qword [rbp + 0x10], rdx
mov rcx, rdx
xor rcx, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp + 0x1f], cl
cmp eax, 0x43a0befa
je 0x140167d8a
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x140167e1f
jmp 0x140167e31
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140167e3f
mov rax, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x10]
mov qword [rax], rcx
mov rdx, qword [rbp + 0x118]
mov rax, qword [rbp + 0x120]
mov rcx, qword [rax]
mov qword [rbp + 0x188], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x190], rax
lea rcx, [rbp + 0x188]
sub rsp, 0x20
call fcn.1401642c0
mov rax, qword [rbp + 0x148]
mov rcx, qword [rbp + 0xd8]
add rsp, 0x20
mov al, byte [rax]
cmp al, 0
sete dl
mov byte [rbp + 0xe], dl
mov rcx, qword [rcx]
movabs rdx, 0x2555ff11f34419da
movabs r8, 0x6555ff11f34419da
xor rdx, r8
and rcx, rdx
movabs rdx, 0xff7b741ca560b848
movabs r8, 0xff7b741ca560b848
xor rdx, r8
cmp rcx, rdx
mov byte [rbp + 0xf], al
jne 0x140168101
mov eax, dword [0x1402b1398]
mov r8d, dword [0x1402b139c]
mov edx, 0xe08110fd
xor edx, 0x1f7eef02
mov ecx, eax
xor ecx, edx
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0x93c0f046
xor ecx, ecx
sub ecx, 0x63985646
sub eax, ecx
add eax, 0x58773183
cmp eax, 0x52a49025
je 0x140168805
mov rcx, qword [rbp + 0xd8]
mov eax, dword [0x1402b13a0]
mov edx, dword [0x1402b13a4]
mov r8d, 0xd52b9518
xor r8d, 0x2ad46ae7
xor edx, r8d
mov r9d, eax
xor r9d, edx
and r9d, eax
mov edx, r9d
xor edx, 0xffffffff
mov eax, 0x5eb8b73f
xor eax, 0x824b3748
and eax, edx
mov r10d, 0x176dd6b0
xor r10d, 0xcb9e56c7
mov edx, 0x45f472f8
xor edx, 0xba0b8d07
xor r10d, edx
and r9d, r10d
mov edx, 0xffffffff
xor edx, 0x2bd13a54
mov r8d, 0xdf0e7477
xor r8d, 0x3fdf400
and edx, r8d
mov r8d, 0x6f89f91d
xor r8d, 0x4458c349
and r8d, r10d
or eax, r9d
or edx, r8d
xor eax, edx
mov r8d, 0x435f68df
xor edx, edx
div r8d
and eax, 0xef9d0811
mov dword [rbp + 8], eax
sub rsp, 0x20
call fcn.14001a7c0
mov rcx, qword [rbp + 0x148]
mov eax, dword [rbp + 8]
add rsp, 0x20
mov cl, byte [rcx]
mov byte [rbp + 0xd], cl
cmp eax, 0xf2e6f38f
ja 0x140168805
mov al, byte [rbp + 0xd]
mov byte [rbp + 0xf], al
jmp 0x140168101
mov eax, dword [0x1402b13a8]
mov edx, dword [0x1402b13ac]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
add eax, 0x44e84787
mov edx, eax
xor edx, 0xffffffff
and edx, 0x81752c4d
mov r8d, 0xffffffff
xor r8d, 0x81752c4d
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x81752c4d
mov r8d, 0xa4013bd9
xor r8d, 0x25741794
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xac4ef501
xor ecx, 0x20828779
imul eax, ecx
cmp eax, 0xe6699c02
jae 0x14016880e
mov ecx, dword [0x1402b13b0]
xor ecx, 0x5cf6fd68
mov edx, dword [0x1402b13b4]
xor edx, 0x29e03252
mov eax, ecx
or eax, eax
mov r8d, 0x3052b7
xor r8d, 0xffcfad48
xor eax, r8d
mov r8d, edx
or r8d, r8d
mov r9d, 0x8c573d6e
xor r9d, 0x73a8c291
xor r8d, r9d
or eax, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
xor eax, 0xffffffff
mov edx, 0xc1d7ed60
xor edx, 0x3e28129f
xor ecx, edx
and eax, ecx
xor eax, 0x6299535c
mov ecx, 0x545af8ea
xor ecx, 0xf40f6ba3
sub eax, ecx
and eax, 0xd65bc1e7
mov ecx, 0xd95a6e6f
xor ecx, 0x2d978a84
cmp eax, ecx
je 0x14016880e
jmp 0x1401687bc
mov al, byte [rbp + 0xe]
mov cl, byte [rbp + 0xf]
and al, 1
movzx eax, al
cmp cl, 0
mov qword [rbp], rax
je 0x140168133
jmp 0x1401687bc
mov cl, byte [rbp + 0x105]
xor eax, eax
test cl, 1
mov qword [rbp], rax
jne 0x1401687bc
mov rax, qword [rbp + 0x120]
mov rcx, qword [rbp]
mov qword [rbp - 0x10], rcx
mov rcx, rax
add rcx, 0x10
mov qword [rbp - 8], rcx
cmp qword [rax + 0x10], 0
je 0x140168665
mov rax, qword [rbp - 0x10]
cmp rax, 0
je 0x1401682e2
mov ecx, 0xc908
mov edx, 0x21d4
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x148]
mov word [rbp - 0x12], cx
cmp byte [rax], 0
jne 0x14016864a
mov rcx, qword [rbp + 0x118]
mov ax, word [rbp - 0x12]
mov byte [rbp - 0x21], al
mov edx, 1
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp + 0x108]
mov r8b, byte [rbp - 0x21]
mov rax, qword [rbp + 0x118]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rcx, qword [rax]
mov rax, rcx
add rax, 1
mov qword [rbp - 0x20], rax
movabs rdx, 0x2a2e16f9d94fd40b
movabs r8, 0xd5d1e90626b02bf4
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xa9e8a4b5af3b36c3
movabs rdx, 0xa9e8a4b5af3b36c3
xor rcx, rdx
cmp rax, rcx
jge 0x14016822e
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1401682e2
mov eax, dword [0x1402b13b8]
or eax, dword [0x1402b13bc]
mov ecx, 0xffffffff
xor ecx, 0x832fa160
add eax, ecx
add eax, 1
mov ecx, 0x584b96e
xor edx, edx
div ecx
and eax, 0x86046c2e
cmp eax, 0xc4f28e58
ja 0x140168817
mov rdx, qword [rbp - 0x20]
mov rcx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x118]
mov r9d, dword [0x1402b13c0]
mov eax, dword [0x1402b13c4]
add r9d, 0xc98094f5
add r9d, eax
sub r9d, 0xc98094f5
mov eax, 0xa8d77618
xor eax, 0xa1e63c7f
and r9d, eax
mov eax, r9d
and eax, 0x4dfb1416
mov r10d, 0x43ea8260
xor r10d, 0xe119676
or r9d, r10d
add eax, r9d
sub eax, 0x18d10573
mov qword [r8], rdx
mov rcx, qword [rcx]
mov r8b, 0x60
xor r8b, 0x60
mov byte [rcx + rdx + 8], r8b
cmp eax, 0xf2c436f7
jae 0x140168817
jmp 0x1401682e2
mov cx, 0x15e7
xor cx, 0xf887
mov dx, 0x59d7
xor dx, 0x5c7d
sub rsp, 0x20
call fcn.14009026b
mov rcx, qword [rbp + 0x148]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp - 0x23], dl
cmp cl, 0
mov byte [rbp - 0x22], al
je 0x14016831f
mov al, byte [rbp - 0x23]
mov cl, byte [rbp - 0x22]
mov byte [rbp - 0x24], cl
test al, 1
jne 0x140168335
jmp 0x14016864a
mov qword [rbp + 0x178], 0
lea rax, [rbp + 0x178]
add rax, 8
mov qword [rbp - 0x38], rax
mov qword [rbp + 0x180], 0
mov word [rbp + 0x176], 0x270
lea rcx, [rbp + 0x176]
sub rsp, 0x20
call fcn.14008b2d0
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x148]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x14016864a
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax]
xor eax, eax
sub rax, rcx
xor ecx, ecx
sub rcx, 1
add rax, rcx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
lea rcx, [rbp + 0x178]
sub rsp, 0x20
call fcn.140031800
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp + 0x138]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x178]
sub rsp, 0x20
call fcn.14015c610
mov rax, qword [rbp - 0x38]
mov dl, byte [rbp - 0x24]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x50], rax
mov rcx, qword [rbp + 0x178]
mov qword [rbp - 0x48], rcx
mov byte [rax + rcx + 8], dl
mov rax, rcx
add rax, 1
mov qword [rbp - 0x40], rax
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jge 0x140168571
mov ecx, dword [0x1402b13c8]
mov eax, dword [0x1402b13cc]
xor eax, 0xeb24d284
sub ecx, eax
mov eax, ecx
and eax, 0x460dba7d
shl eax, 1
mov edx, 0x419caacd
xor edx, 0x79110b0
add ecx, edx
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x337148b7
or ecx, 0x337148b7
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xef6fcf21
xor ecx, 0x109030de
xor eax, ecx
mov ecx, eax
xor ecx, 0x9ab92821
xor ecx, 0xffffffff
mov edx, 0x84dd4f34
xor edx, 0x1e646715
or eax, edx
and eax, ecx
mov ecx, 0xa302db22
xor ecx, 0x2c73c589
cmp eax, ecx
je 0x140168820
mov ecx, dword [0x1402b13d0]
mov r8d, dword [0x1402b13d4]
mov edx, 0x7d609b25
xor edx, 0x829f64da
mov eax, ecx
xor eax, edx
mov edx, r8d
and edx, eax
mov r9d, r8d
xor r9d, 0xffffffff
mov eax, ecx
and eax, r9d
imul eax, edx
mov edx, ecx
and edx, r8d
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x618a3b7
mov edx, 0xffffffff
xor edx, 0x618a3b7
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x45490135
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x45490135
add eax, edx
sub eax, ecx
mov edx, eax
xor edx, 0x98fdeb18
xor edx, 0xffffffff
mov ecx, 0xb176ec85
xor ecx, 0x298b079d
and ecx, edx
shl ecx, 1
sub ecx, 0x98fdeb18
sub eax, ecx
mov dword [rbp - 0x54], eax
sub rsp, 0x20
call fcn.14000ee80
mov eax, dword [rbp - 0x54]
add rsp, 0x20
cmp eax, 0x89e20ae
jbe 0x1401684a4
mov rax, qword [rbp - 0x48]
mov qword [rbp - 0x60], rax
jmp 0x140168589
mov rax, qword [rbp - 0x40]
mov rcx, qword [rbp - 0x50]
mov qword [rbp + 0x178], rax
mov byte [rcx + rax + 8], 0
mov qword [rbp - 0x60], rax
mov rcx, qword [rbp + 0x118]
mov rdx, qword [rbp - 0x60]
mov qword [rbp - 0x68], rdx
sub rsp, 0x20
call fcn.1400321d0
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp + 0x118]
mov rax, qword [rbp - 0x50]
add rsp, 0x20
mov qword [rbp + 0x160], rdx
mov qword [rbp + 0x168], rax
lea rdx, [rbp + 0x160]
sub rsp, 0x20
call fcn.14015c610
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x140]
mov rdx, qword [rbp + 0x118]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rcx], r8
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1401660e0
mov rcx, qword [rbp - 0x50]
add rsp, 0x20
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x12fd524f67540d86
movabs rdx, 0x12fd524f67540d86
xor rcx, rdx
cmp rax, rcx
jne 0x14016864f
mov rcx, qword [rbp - 0x50]
sub rsp, 0x20
call fcn.14001a7c0
add rsp, 0x20
jmp 0x14016864f
jmp 0x1401687bc
mov rax, qword [rbp + 0x148]
mov al, byte [rax]
cmp al, 0
je 0x140168665
jmp 0x1401687bc
mov cx, 0xa0fe
xor cx, 0xc2a5
mov dx, 0xceba
xor dx, 0x446c
sub rsp, 0x20
call fcn.14009026b
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x148]
mov word [rbp - 0x6a], cx
cmp byte [rax], 0
jne 0x1401687bc
mov rcx, qword [rbp + 0x118]
mov ax, word [rbp - 0x6a]
mov byte [rbp - 0x79], al
mov edx, 1
sub rsp, 0x20
call fcn.1400321d0
mov rcx, qword [rbp + 0x108]
mov r8b, byte [rbp - 0x79]
mov rax, qword [rbp + 0x118]
add rsp, 0x20
mov rcx, qword [rcx]
mov rdx, qword [rax]
mov byte [rcx + rdx + 8], r8b
mov rdx, qword [rax]
movabs rcx, 0x3f7f3b4e52b079a7
movabs rax, 0x3f7f3b4e52b079a7
xor rcx, rax
movabs rax, 0xa588fbf12ae69613
movabs r8, 0xa588fbf12ae69612
xor rax, r8
sub rcx, rax
mov rax, rdx
sub rax, rcx
mov qword [rbp - 0x78], rax
mov r8, rdx
xor r8, 0xffffffffffffffff
movabs rcx, 0x17c1616f5c9cbda
movabs r9, 0xfe83e9e90a363425
xor rcx, r9
xor r8, rcx
movabs rcx, 0x93932009def8321d
movabs r9, 0x6c6cdff62107cde2
xor rcx, r9
and rcx, r8
shl rcx, 1
sub rcx, 0xffffffffffffffff
sub rdx, rcx
mov rcx, rax
add rcx, 1
movabs r8, 0x23c87ed426e0dae9
movabs r9, 0xdc37812bd91f2516
xor r8, r9
xor rax, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jge 0x14016879f
ror byte [rax + 1], 1
enter 0xffffffffffff8348, 0xfffffffffffffff8
add byte [rdi], cl
lea edx, [rdx]
add byte [rax], al
add byte [rax - 0x7d], cl
in al, dx
and al, ch
invalid
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x1401687bc
mov rcx, qword [rbp - 0x78]
mov rax, qword [rbp + 0x108]
mov rdx, qword [rbp + 0x118]
mov qword [rdx], rcx
mov rax, qword [rax]
mov byte [rax + rcx + 8], 0
lea rsp, [rbp + 0x1a8]
pop rsi
pop rbp
ret
imul ecx, ecx, 0xffffffac
pop rsi
jmp 0x140167212
and al, 0x4f
test cl, ch
int1
jmp 0x1401687d6
invalid
invalid
xor al, 0xb
adc eax, 0xef19e906
invalid
outsd dx, dword [rsi]
jrcxz 0x14016877f
jmp 0x1400996db
jo 0x1401687fd
invalid
insb byte [rdi], dx
invalid
leave
mov esi, 0x1ce9474e
idiv edi
inc dword [rcx]
invalid
add esi, ecx
outsd dx, dword [rsi]
push 0xfffffffffff859e9
invalid
fbld tbyte [rax]
xchg ebp, eax
mov dh, 0xe9
cli
invalid
invalid