Function at 0x140040580
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x298
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc0], r9
mov qword [rbp + 0x110], r8
mov qword [rbp + 0xc8], rdx
mov qword [rbp + 0x108], rcx
mov qword [rbp + 0xd0], rcx
mov eax, 0x10
mov qword [rbp + 0xf0], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0xf0]
mov rcx, rsp
mov qword [rbp + 0xd8], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0xf0]
mov rcx, rsp
mov qword [rbp + 0xe0], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
mov eax, 0x800
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp + 0xf0]
mov rcx, rsp
mov qword [rbp + 0xf8], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
sub rsp, 0x20
call fcn.14003be71
mov rcx, qword [rbp + 0x108]
mov r8, qword [rbp + 0x110]
add rsp, 0x20
mov qword [rbp + 0x118], rax
movups xmm0, xmmword [0x140202b18]
movups xmmword [rcx], xmm0
mov rax, qword [r8]
mov qword [rbp + 0x120], rax
test rax, rax
je 0x14004068e
jmp 0x140040678
mov rax, qword [rbp + 0x120]
sub rax, 1
je 0x1400406ca
jmp 0x140040e87
mov rcx, qword [rbp + 0x108]
mov rax, qword [rbp + 0xc8]
mov rdx, qword [rax]
mov qword [rbp + 0x208], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x210], rax
lea rdx, [rbp + 0x208]
sub rsp, 0x20
call fcn.1400191eb
add rsp, 0x20
jmp 0x140041a79
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0x110]
mov rdx, qword [rdx + 8]
mov dl, byte [rdx + 8]
mov byte [rbp + 0x9f], dl
mov rcx, qword [rcx]
add rcx, 0xffffffffffffffff
mov qword [rbp + 0xa0], rcx
add rax, 8
mov qword [rbp + 0xa8], rax
lea rax, [rbp + 0x1d8]
add rax, 8
mov qword [rbp + 0xb0], rax
xor eax, eax
mov qword [rbp + 0xb8], rax
mov rax, qword [rbp + 0xb8]
mov qword [rbp + 0x90], rax
mov eax, dword [0x1401f4da0]
xor eax, 0xc7ec56
xor edx, edx
div dword [0x1401f4da4]
mov ecx, 0x6055abed
xor edx, edx
div ecx
sub eax, 0x4f3e489c
mov ecx, 0xe5eb4889
xor ecx, 0xe5eb4889
mov edx, 0xe58c3bbd
xor edx, 0x5cc7c130
sub ecx, edx
sub eax, ecx
cmp eax, 0xa78953d8
ja 0x140041b34
mov rcx, qword [rbp + 0x90]
mov eax, dword [0x1401f4da8]
xor edx, edx
div dword [0x1401f4dac]
sub eax, 0x45005a58
mov r8d, 0xef88ef6f
xor edx, edx
div r8d
and eax, 0xaf2535
cmp rcx, 0
setl cl
mov byte [rbp + 0x8f], cl
cmp eax, 0xf651c947
ja 0x140040774
mov al, byte [rbp + 0x8f]
test al, 1
jne 0x1400407c9
jmp 0x14004081e
mov rcx, qword [rbp + 0x90]
movabs rdx, 0x8b4c9478cfddd110
movabs rax, 0x8b4c9478cfddd110
xor rdx, rax
movabs r8, 0x4967efefca2282af
movabs rax, 0x3698101035dd7d50
xor r8, rax
sub rsp, 0x20
call fcn.14000e57e
mov rax, qword [rbp + 0x90]
add rsp, 0x20
mov qword [rbp + 0x80], rax
jmp 0x140040b37
mov r9, qword [rbp + 0xa0]
mov r8, qword [rbp + 0x90]
mov dl, byte [rbp + 0x9f]
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rax]
mov qword [rbp + 0x1f8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x200], rax
lea rcx, [rbp + 0x1f8]
sub rsp, 0x20
call fcn.14003cec4
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0x78], rcx
cmp byte [rax], 0
jne 0x140041a79
mov rax, qword [rbp + 0x78]
cmp rax, 0
jl 0x140040b60
mov rax, qword [rbp + 0x78]
mov rcx, rax
and rcx, 0xffffffffffffffff
mov rdx, rax
or rdx, 0xffffffffffffffff
add rcx, rdx
mov qword [rbp + 0x70], rcx
xor rcx, rax
cmp rcx, 0
setl cl
cmp rax, 0
setne al
and al, cl
test al, 1
jne 0x1400408c0
jmp 0x1400408e0
sub rsp, 0x20
call fcn.140009cc0
mov rax, qword [rbp + 0x90]
add rsp, 0x20
mov qword [rbp + 0x80], rax
jmp 0x140040b37
mov rcx, qword [rbp + 0xd8]
mov r9, qword [rbp + 0x70]
mov r8, qword [rbp + 0x90]
mov rax, qword [rbp + 0xc8]
mov rdx, qword [rax]
mov qword [rbp + 0x1e8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1f0], rax
lea rdx, [rbp + 0x1e8]
sub rsp, 0x20
call fcn.14001a0a0
mov rdx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0xa8]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp + 0x58], rdx
mov rax, qword [rax]
mov qword [rbp + 0x60], rax
sub rsp, 0x20
call fcn.14001a700
mov r8, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov qword [rbp + 0x1d8], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x1d8]
sub rsp, 0x20
call fcn.140041b90
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14001a700
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x1c8], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1d0], rax
lea rdx, [rbp + 0x1c8]
sub rsp, 0x20
call fcn.140041b90
mov rcx, qword [rbp + 0x78]
add rsp, 0x20
movabs rdx, 0xc8a1aa7083cbbf64
movabs rax, 0xc8a1aa7083cbbf65
xor rdx, rax
mov rax, rcx
add rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
or rdx, r8
xor rdx, 0xffffffffffffffff
movabs r8, 0x6bdafddf553c9d8
movabs r9, 0xf94250220aac3627
xor r8, r9
movabs r9, 0x8ab58507360ff675
movabs r10, 0x754a7af8c9f0098a
xor r9, r10
xor r8, r9
or rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
movabs r9, 0x187e054139679857
movabs r10, 0xe781fabec69867a8
xor r9, r10
movabs r10, 0x257e366a7a3aedda
movabs r11, 0xda81c99585c51225
xor r10, r11
xor r9, r10
or r8, r9
and rcx, r8
xor rcx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x68], rax
jge 0x140040ac2
sub rsp, 0x20
call fcn.140009cc0
mov rax, qword [rbp + 0x90]
add rsp, 0x20
mov qword [rbp + 0x68], rax
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x68]
mov qword [rbp + 0x50], rax
cmp rcx, 0
mov qword [rbp + 0x80], rax
je 0x140040b37
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x60]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0x27f691933062e87f
movabs r8, 0x27f691933062e87f
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x80], rax
jne 0x140040b37
mov rcx, qword [rbp + 0x60]
sub rsp, 0x20
call fcn.14000f935
mov rax, qword [rbp + 0x50]
add rsp, 0x20
mov qword [rbp + 0x80], rax
mov rcx, qword [rbp + 0x118]
mov rax, qword [rbp + 0x80]
mov cl, byte [rcx]
mov dl, 0x6e
xor dl, 0x6e
cmp cl, dl
mov qword [rbp + 0xb8], rax
je 0x140040720
jmp 0x140041a79
mov ecx, dword [0x1401f4db0]
mov edx, dword [0x1401f4db4]
xor edx, 0xa4926b05
mov eax, ecx
xor eax, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x8e160fd2
xor r8d, 0x71e9f02d
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0x88e3c1a8
xor edx, 0xce4c0981
mov r8d, 0xbd8e1bbe
xor r8d, 0x4271e441
xor edx, r8d
or eax, edx
mov edx, 0xab2246b2
xor edx, 0xed8d8e9b
mov r8d, 0x2800ad2a
xor r8d, 0xd7ff52d5
xor edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x46afc829
or edx, r8d
mov r8d, 0xb4b7be25
xor r8d, 0x4b4841da
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
mov edx, 0x87a81d66
xor edx, 0x7857e299
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xd063121f
xor ecx, 0xd96cb3fd
sub eax, ecx
mov ecx, 0xf3e1cbfa
xor edx, edx
div ecx
cmp eax, 0xbb626440
je 0x140041b3d
mov r8, qword [rbp + 0x90]
mov eax, dword [0x1401f4db8]
mov ecx, 0x486d3f72
xor ecx, 0x42ce26a6
xor eax, ecx
xor edx, edx
div dword [0x1401f4dbc]
mov r9d, 0x89654520
xor r9d, 0x5e29278c
mov ecx, 0x6d8d74d4
xor ecx, 0x92728b2b
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov r9d, 0xbadeeb79
xor r9d, 0x6d9289d5
mov edx, eax
and edx, r9d
or eax, 0xd74c62ac
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x220fbd73
mov r9d, 0xffffffff
xor r9d, 0x220fbd73
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov r9d, 0xa75d0cb4
xor r9d, 0x8552b1c7
mov edx, eax
and edx, r9d
or eax, 0x220fbd73
imul eax, edx
add eax, ecx
mov ecx, 0xcfd1b955
xor edx, edx
div ecx
mov rdx, qword [rbp + 0xe0]
mov ecx, eax
mov rax, qword [rbp + 0xc8]
mov dword [rbp + 0x48], ecx
mov ecx, 0x3e33242a
xor ecx, 0xca71c8bd
mov dword [rbp + 0x44], ecx
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x1b8]
sub rsp, 0x20
call fcn.1400242e2
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov rdx, qword [rbp + 0x1b8]
mov qword [rbp + 0x30], rdx
mov rax, qword [rbp + 0x1c0]
mov qword [rbp + 0x38], rax
sub rsp, 0x20
call fcn.14001a700
mov r8, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x108]
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x38]
add rsp, 0x20
mov qword [rdx], r8
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140041b90
mov rdx, qword [rbp + 0x38]
mov ecx, dword [rbp + 0x44]
mov eax, dword [rbp + 0x48]
add rsp, 0x20
cmp rdx, 0
sete dl
mov byte [rbp + 0x4f], dl
cmp eax, ecx
je 0x140040c2c
mov al, byte [rbp + 0x4f]
test al, 1
jne 0x140041a79
jmp 0x140040d9d
mov eax, dword [0x1401f4dc0]
add eax, dword [0x1401f4dc4]
mov ecx, 0x6e1b0589
xor ecx, 0xed32d9ab
add eax, ecx
mov ecx, 0xf0211ce0
xor ecx, 0xf97161af
add eax, ecx
sub eax, 0x8329dc22
mov ecx, 0x935061c6
xor edx, edx
div ecx
add eax, 0xf2f031b5
cmp eax, 0xd62724ba
jb 0x140041b46
mov eax, dword [0x1401f4dc8]
mov ecx, 0x655ae5d7
xor ecx, 0xcb4685a9
xor eax, ecx
mov edx, dword [0x1401f4dcc]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
mov ecx, 0x1019a3d8
xor ecx, 0x17f13571
imul eax, ecx
mov ecx, eax
and ecx, 0x9c9c2724
xor ecx, 0xffffffff
add eax, 0x9c9c2724
mov edx, 0x233cccdd
xor edx, 0x233cccdc
add eax, edx
add eax, ecx
mov ecx, 0x8d27e765
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x38]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
cmp rcx, 0
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0xee03531d
ja 0x140041b46
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x140040e71
jmp 0x140041a79
mov rcx, qword [rbp + 0x38]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
jmp 0x140041a79
mov rcx, qword [rbp + 0xf8]
mov edx, 0x800
sub rsp, 0x20
call fcn.14003be8c
mov rax, qword [rbp + 0x110]
mov rdx, qword [rbp + 0xf8]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x1a8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1b0], rax
lea rcx, [rbp + 0x1a8]
sub rsp, 0x20
call fcn.14003f41e
mov rax, qword [rbp + 0x118]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140041a0d
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0xc8]
mov rcx, qword [rcx]
movabs rdx, 0x3cfdaa8d8abea567
movabs r8, 0xc302557275415a98
xor rdx, r8
add rcx, rdx
mov qword [rbp + 8], rcx
add rax, 8
mov qword [rbp + 0x10], rax
lea rax, [rbp + 0x168]
add rax, 8
mov qword [rbp + 0x18], rax
xor eax, eax
mov qword [rbp + 0x20], rax
mov rax, qword [rbp + 0x20]
mov qword [rbp], rax
cmp rax, 0
jge 0x1400410dc
mov eax, dword [0x1401f4dd0]
mov ecx, 0x3ebd0374
xor ecx, 0x549b1a62
xor eax, ecx
and eax, dword [0x1401f4dd4]
add eax, 0xfd2cbe12
mov r8d, 0xd76331d7
xor r8d, 0xc02651c6
mov ecx, 0x2efb0de8
xor ecx, 0xd104f217
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x17456011
or eax, 0x17456011
imul eax, edx
add eax, ecx
or eax, 0x22207ab2
cmp eax, 0xa57285f
jb 0x140041b4f
mov rcx, qword [rbp]
mov esi, dword [0x1401f4dd8]
mov eax, dword [0x1401f4ddc]
xor eax, 0x60b3490b
add esi, eax
mov eax, 0xd6508bf7
xor eax, 0x29af7408
mov edx, esi
xor edx, eax
mov r9d, 0xffffffff
xor r9d, 0xf859e6e9
mov r8d, 0xffffffff
xor r8d, 0xfb3b10bd
mov eax, edx
and eax, 0xfb3b10bd
and esi, r8d
mov r10d, r9d
and r10d, 0xfb3b10bd
mov r11d, r8d
and r11d, 0xf859e6e9
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
mov r9d, 0x4719df24
xor r9d, 0xb8e620db
xor edx, r9d
or r8d, 0xfb3b10bd
and edx, r8d
or eax, edx
mov r8d, 0xffffffff
xor r8d, 0xfc1e53d2
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0xfc1e53d2
add eax, r8d
sub eax, edx
mov edx, 0x5feb118c
xor edx, 0xa014ee73
mov r8d, eax
xor r8d, edx
and r8d, 0xa784f1ce
mov r9d, 0xffffffff
xor r9d, 0xa784f1ce
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xa784f1ce
mov r9d, 0x174b3eab
xor r9d, 0xb0cfcf65
or eax, r9d
imul eax, r8d
add eax, edx
mov dword [rbp - 4], eax
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000e57e
mov eax, dword [rbp - 4]
add rsp, 0x20
cmp eax, 0xe5c99acf
ja 0x140041b4f
mov rax, qword [rbp]
mov qword [rbp - 0x10], rax
jmp 0x1400418ac
mov rax, qword [rbp + 8]
mov r9, qword [rbp]
mov rcx, qword [rbp + 0xf8]
mov rdx, qword [rbp + 0x110]
mov r8, qword [rbp + 0xc8]
mov r10, qword [r8]
mov qword [rbp + 0x198], r10
mov r8, qword [r8 + 8]
mov qword [rbp + 0x1a0], r8
mov r8, qword [rdx]
mov qword [rbp + 0x188], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x190], rdx
lea rdx, [rbp + 0x198]
lea r8, [rbp + 0x188]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.14003e250
add rsp, 0x30
mov rcx, rax
mov rax, qword [rbp + 0x118]
mov qword [rbp - 0x18], rcx
cmp byte [rax], 0
jne 0x140041a0d
mov eax, dword [0x1401f4de0]
xor edx, edx
div dword [0x1401f4de4]
add eax, 0x529956ec
add eax, 0xf5611a86
mov edx, 0xa598cfd6
xor edx, 0xaa2c2623
mov ecx, eax
and ecx, edx
shl ecx, 1
mov edx, 0xeb6cbdc6
xor edx, 0xe4d85433
add eax, edx
sub eax, ecx
cmp eax, 0x55f64052
ja 0x140041b58
mov rcx, qword [rbp - 0x18]
mov eax, dword [0x1401f4de8]
xor edx, edx
div dword [0x1401f4dec]
mov edx, 0x5485a578
xor edx, 0x1177489f
and edx, eax
xor edx, 0xffffffff
add eax, 0x45f2ede7
add eax, 1
add eax, edx
imul eax, eax, 0xf01f7d4b
mov edx, 0xe6717a25
xor edx, 0x198e85da
xor eax, edx
mov r8d, 0x9e6f5dca
xor r8d, 0x8c685a70
mov edx, 0x2d061ed1
xor edx, 0xd2f9e12e
xor r8d, edx
mov edx, 0xffffffff
xor edx, 0x36d4269a
or eax, r8d
or edx, 0x36d4269a
xor eax, 0xffffffff
and eax, edx
cmp rcx, 0
setl cl
mov byte [rbp - 0x19], cl
cmp eax, 0x9ac6d1dd
je 0x14004119e
mov al, byte [rbp - 0x19]
test al, 1
jne 0x1400418cf
jmp 0x140041236
mov rax, qword [rbp - 0x18]
movabs rcx, 0x3b634abf4b13c06a
movabs rdx, 0xc49cb540b4ec3f95
xor rcx, rdx
mov rdx, rax
and rdx, rcx
shl rdx, 1
mov rcx, rax
xor rcx, 0xffffffffffffffff
add rcx, rdx
mov qword [rbp - 0x28], rcx
xor rcx, rax
movabs rdx, 0x7a4d3941353053f2
movabs r8, 0x7a4d3941353053f2
xor rdx, r8
cmp rcx, rdx
setl cl
movabs rdx, 0x8e374d88cbe08ba5
movabs r8, 0x8e374d88cbe08ba5
xor rdx, r8
cmp rax, rdx
setne al
and al, cl
test al, 1
jne 0x1400412b5
jmp 0x140041436
mov r8d, dword [0x1401f4df0]
mov edx, dword [0x1401f4df4]
mov eax, 0x901b4171
xor eax, 0x645be111
xor edx, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x55924c06
xor eax, 0x6ff58b39
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x3a67c73f
and r8d, r9d
mov ecx, edx
xor ecx, 0xffffffff
mov r10d, 0x285e89b
xor r10d, 0x38e22fa4
and ecx, r10d
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x2bc0c586
xor ecx, 0x7769b543
xor eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x31f63e69
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x31f63e69
or eax, 0x31f63e69
imul eax, edx
add eax, ecx
mov ecx, 0x23f1ab50
xor ecx, 0x67c4c633
or eax, ecx
mov ecx, 0x6cdedbf1
xor ecx, 0x57b47258
cmp eax, ecx
jb 0x140041b61
mov eax, dword [0x1401f4df8]
mov edx, dword [0x1401f4dfc]
xor edx, 0x4f7241b4
mov ecx, 0x23454019
xor ecx, 0xdcbabfe6
xor eax, ecx
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x53bc953d
or eax, edx
or ecx, 0x53bc953d
xor eax, 0xffffffff
and eax, ecx
mov ecx, eax
and ecx, 0x86631fe0
shl ecx, 1
xor eax, 0x86631fe0
add eax, ecx
mov ecx, 0xdc7043dc
xor ecx, 0x238fbc23
mov edx, eax
xor edx, ecx
and edx, 0x9e82d9a
mov r8d, 0xffffffff
xor r8d, 0x9e82d9a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x9e82d9a
mov r8d, 0xc30a0a28
xor r8d, 0xcae227b2
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x560660ae
xor ecx, 0x43899b4c
and eax, ecx
mov dword [rbp - 0x2c], eax
sub rsp, 0x20
call fcn.140009cc0
mov eax, dword [rbp - 0x2c]
add rsp, 0x20
cmp eax, 0xb2efd94e
ja 0x14004136b
mov rax, qword [rbp]
mov qword [rbp - 0x10], rax
jmp 0x1400418ac
mov eax, dword [0x1401f4e00]
add eax, dword [0x1401f4e04]
or eax, 0xb2917a1a
mov ecx, 0x272349a1
xor ecx, 0x1d78d163
mov edx, 0xc7937d26
xor edx, 0x386c82d9
xor ecx, edx
add eax, ecx
add eax, 1
and eax, 0xe22d3097
cmp eax, 0x47b619f7
jb 0x140041b6a
mov rcx, qword [rbp + 0x100]
mov r9, qword [rbp - 0x28]
mov r8, qword [rbp]
mov rax, qword [rbp + 0xc8]
mov r10d, dword [0x1401f4e08]
xor r10d, 0xcf12a83c
mov esi, dword [0x1401f4e0c]
mov edx, r10d
and edx, edx
xor edx, 0xffffffff
and edx, esi
mov r11d, 0xb58d7548
xor r11d, 0x4a728ab7
xor edx, r11d
mov r11d, esi
xor r11d, 0xffffffff
xor esi, 0xffffffff
or r11d, esi
mov esi, 0xe3115d93
xor esi, 0x1ceea26c
xor r10d, esi
xor r11d, 0xffffffff
or r10d, r11d
and edx, r10d
xor edx, 0xffffffff
mov r10d, edx
xor r10d, 0xffffffff
mov r11d, 0xb8a848f5
xor r11d, 0x2df9e195
and r10d, r11d
mov r11d, 0xffffffff
xor r11d, 0x9551a960
and edx, r11d
sub edx, r10d
mov r10d, edx
and r10d, 0x85b968ef
mov r11d, 0x78718628
xor r11d, 0x878e79d7
xor r10d, r11d
mov r11d, 0x6fd727f0
xor r11d, 0xea6e4f1f
add edx, r11d
add edx, 1
add edx, r10d
mov esi, 0x5f2d338f
xor esi, 0xf1d517ec
mov r10d, 0x9415bc55
xor r10d, 0x6bea43aa
xor esi, r10d
mov r11d, edx
and r11d, esi
mov r10d, edx
or r10d, esi
mov esi, 0x76e1c8d
xor esi, 0xf891e372
xor r10d, esi
imul r10d, r11d
mov esi, 0xaf08d32b
xor esi, 0x1f0f748
mov r11d, edx
and r11d, esi
mov esi, 0xcbd1a8f3
xor esi, 0x65298c90
or edx, esi
imul edx, r11d
add edx, r10d
mov dword [rbp - 0x3c], edx
mov rdx, qword [rax]
mov qword [rbp + 0x178], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x180], rax
lea rdx, [rbp + 0x178]
sub rsp, 0x20
call fcn.14001a0a0
mov rdx, qword [rbp + 0x100]
mov rax, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x50], rdx
mov rax, qword [rax]
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.14001a700
mov r8, qword [rbp - 0x50]
mov rdx, qword [rbp - 0x48]
mov rax, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov qword [rbp + 0x168], r8
mov qword [rax], rdx
lea rdx, [rbp + 0x168]
sub rsp, 0x20
call fcn.140041b90
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14001a700
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x158], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x160], rax
lea rdx, [rbp + 0x158]
sub rsp, 0x20
call fcn.140041b90
mov rdx, qword [rbp - 0x18]
mov r10, qword [rbp + 0x120]
mov eax, dword [rbp - 0x3c]
add rsp, 0x20
mov rcx, rdx
and rcx, r10
movabs r8, 0x21494a600b090d44
movabs r9, 0x21494a600b090d46
xor r8, r9
imul rcx, r8
mov r8, rdx
xor r8, r10
add r8, rcx
mov qword [rbp - 0x38], r8
mov rcx, r8
xor rcx, rdx
mov rdx, r8
and rdx, rdx
xor rdx, 0xffffffffffffffff
and rdx, r10
xor rdx, 0xffffffffffffffff
mov r9, r10
xor r9, 0xffffffffffffffff
xor r10, 0xffffffffffffffff
or r9, r10
xor r8, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
xor rdx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rbp - 0x2d], cl
cmp eax, 0x84ab5121
jb 0x140041b6a
mov rax, qword [rbp - 0x38]
mov cl, byte [rbp - 0x2d]
test cl, 1
mov qword [rbp - 0x58], rax
jne 0x14004171f
jmp 0x140041840
mov ecx, dword [0x1401f4e10]
mov r8d, dword [0x1401f4e14]
mov eax, ecx
xor eax, 0xffffffff
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
and eax, 0x4180a6c9
mov edx, 0xffffffff
xor edx, 0x4180a6c9
and ecx, edx
or eax, ecx
imul eax, eax, 0x14a160b
or eax, 0xb65cf24
mov ecx, 0xee6492bb
xor ecx, 0xf4c871cd
cmp eax, ecx
jbe 0x140041b73
mov eax, dword [0x1401f4e18]
xor eax, 0x394e593e
mov r8d, dword [0x1401f4e1c]
xor r8d, 0x7817858c
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xc73ffc3b
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xc73ffc3b
or eax, 0xc73ffc3b
imul eax, edx
add eax, ecx
mov ecx, 0xf77e5e9d
xor edx, edx
div ecx
sub eax, 0x67b4e5ae
mov ecx, 0xe117ad5e
xor ecx, 0xa6a1cd64
sub eax, ecx
add eax, 0x67b4e5ae
mov dword [rbp - 0x5c], eax
sub rsp, 0x20
call fcn.140009cc0
mov eax, dword [rbp - 0x5c]
add rsp, 0x20
cmp eax, 0x25b96d21
jbe 0x140041789
mov rax, qword [rbp]
mov qword [rbp - 0x58], rax
jmp 0x140041840
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x68], rax
cmp rcx, 0
mov qword [rbp - 0x10], rax
je 0x1400418ac
mov rax, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x48]
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0x65ee02e691a0a060
movabs r8, 0x65ee02e691a0a060
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x10], rax
jne 0x1400418ac
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000f935
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov qword [rbp - 0x10], rax
mov rcx, qword [rbp + 0x118]
mov rax, qword [rbp - 0x10]
mov cl, byte [rcx]
mov dl, 0x6c
xor dl, 0x6c
cmp cl, dl
mov qword [rbp + 0x20], rax
je 0x140040f33
jmp 0x140041a0d
mov r8, qword [rbp]
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rax]
mov qword [rbp + 0x138], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x140], rax
lea rcx, [rbp + 0x148]
lea rdx, [rbp + 0x138]
sub rsp, 0x20
call fcn.1400242e2
mov rcx, qword [rbp + 0x108]
add rsp, 0x20
mov rdx, qword [rbp + 0x148]
mov qword [rbp - 0x78], rdx
mov rax, qword [rbp + 0x150]
mov qword [rbp - 0x70], rax
sub rsp, 0x20
call fcn.14001a700
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp + 0x108]
mov rax, qword [rbp - 0x70]
add rsp, 0x20
mov qword [rbp + 0x128], rdx
mov qword [rbp + 0x130], rax
lea rdx, [rbp + 0x128]
sub rsp, 0x20
call fcn.140041b90
mov rax, qword [rbp - 0x70]
add rsp, 0x20
cmp rax, 0
je 0x140041a0d
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
or rax, rdx
movabs rdx, 0x4000000000000000
and rcx, rdx
movabs rdx, 0xae26032a28e0a582
movabs r8, 0x51d9fcd5d71f5a7d
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xc7a0020cf28e5870
movabs rdx, 0x385ffdf30d71a78f
xor rcx, rdx
xor rax, rcx
movabs rcx, 0x1a99eb8a135319e3
movabs rdx, 0x1a99eb8a135319e3
xor rcx, rdx
cmp rax, rcx
jne 0x140041a0d
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov eax, dword [0x1401f4e20]
sub eax, dword [0x1401f4e24]
and eax, 0xc452101e
mov ecx, 0x67bfc2c9
xor ecx, 0x365c770d
xor edx, edx
div ecx
and eax, 0xf2d3829c
cmp eax, 0x32483b3b
jae 0x140041b7c
mov eax, dword [0x1401f4e28]
xor eax, 0x1d82e50d
xor edx, edx
div dword [0x1401f4e2c]
mov ecx, 0x22c089ca
xor ecx, 0x723f85ec
xor edx, edx
div ecx
and eax, 0xb74e5721
xor eax, 0xf01297d
cmp eax, 0x3a39f5c9
jae 0x140041a3d
jmp 0x140041a79
mov eax, dword [0x1401f4e30]
mov ecx, dword [0x1401f4e34]
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x6f27bd63
xor edx, 0x7d5cd6e9
mov r8d, 0x2f5389b0
xor r8d, 0xd0ac764f
xor edx, r8d
or eax, ecx
mov ecx, 0xe64e7432
xor ecx, 0xf4351fb8
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
sub eax, 0xf4b8060
sub eax, 0x7aab8e8
or eax, 0x6a05630a
cmp eax, 0x1b5051ff
je 0x140041b85
mov eax, dword [0x1401f4e38]
imul eax, dword [0x1401f4e3c]
mov ecx, 0x1ec0c317
xor ecx, 0xe1afe356
xor eax, ecx
mov ecx, eax
and ecx, 0xd3b17b0c
mov edx, 0x6c02fe0f
xor edx, 0x6c02fe0d
imul ecx, edx
xor eax, 0xd3b17b0c
add eax, ecx
and eax, 0x3b56f786
mov ecx, 0xd4de4c77
xor ecx, 0xfb92a4aa
cmp eax, ecx
jb 0x140041b85
mov rax, qword [rbp + 0xd0]
lea rsp, [rbp + 0x218]
pop rsi
pop rbp
ret
cmc
jge 0x140041b3b
stc
jmp 0x140040774
invalid
invalid
add al, 0x46
ror byte [rdi], cl
jmp 0x140040de1
xor dh, byte [rcx]
movabs eax, dword [0x20aafffff458e95a]
rol dword [rsi], cl
jmp 0x14004119e
stosb byte [rdi], al
and bl, dl
invalid
invalid
sbb edx, dword [rbx]
sub byte [rdi], bl
jmp 0x140041474
mov edi, 0xe914d29a
or eax, 0xc8fffffc
push rsp
pop rdx
jmp 0x140041a3d
enter 0x5a54, 0x4d
jmp 0x140041a3d
movabs dword [0xffffff46e9bc1849], eax
nop