Function at 0x14012d870
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0x2c0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x150], r8
mov qword [rbp + 0x158], rdx
mov qword [rbp + 0x160], rcx
mov eax, 0x10
mov qword [rbp + 0x188], rax
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x188]
mov rcx, rsp
mov qword [rbp + 0x168], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x188]
mov rcx, rsp
mov qword [rbp + 0x170], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x188]
mov rcx, rsp
mov qword [rbp + 0x178], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x188]
mov rcx, rsp
mov qword [rbp + 0x180], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, qword [rbp + 0x188]
mov rcx, rsp
mov qword [rbp + 0x190], rcx
call fcn.1401f0aa0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x198], rax
sub rsp, 0x20
call fcn.14012c3c1
add rsp, 0x20
mov qword [rbp + 0x1a0], rax
sub rsp, 0x20
call fcn.14012c3c1
add rsp, 0x20
xor eax, eax
mov qword [rbp + 0x1a8], rax
mov rax, qword [rbp + 0x1a8]
mov qword [rbp + 0x148], rax
cmp rax, 8
je 0x14012d99a
mov rax, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x168]
mov dl, 0x36
xor dl, 0x36
mov byte [rcx + rax], dl
add rax, 1
mov qword [rbp + 0x1a8], rax
jmp 0x14012d95c
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x230], 0
lea rcx, [rbp + 0x230]
add rcx, 8
mov qword [rbp + 0x140], rcx
mov qword [rbp + 0x238], 0
cmp qword [rax], 0
jne 0x14012da50
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140016330
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140208580]
mov qword [rcx], rax
lea rax, [0x140207b38]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140207b90]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140207b98]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207b38]
lea r8, [0x140207b43]
lea r9, [0x140207b4b]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x7fb68c1e
call fcn.140016090
add rsp, 0x30
jmp 0x14012feea
mov rax, qword [rbp + 0x158]
mov rcx, qword [rax]
mov qword [rbp + 0x200], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x208], rax
lea rcx, [rbp + 0x230]
lea rdx, [rbp + 0x200]
sub rsp, 0x20
call fcn.14001d789
add rsp, 0x20
mov rax, qword [0x140207b70]
mov qword [rbp + 0x1f0], rax
mov rax, qword [0x140207b78]
mov qword [rbp + 0x1f8], rax
lea rcx, [rbp + 0x230]
lea rdx, [rbp + 0x1f0]
sub rsp, 0x20
call fcn.14004e300
mov rax, qword [rbp + 0x1a0]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x42
xor cl, 0x42
cmp al, cl
jne 0x14012feea
mov rax, qword [0x140207b80]
mov qword [rbp + 0x1e0], rax
mov rax, qword [0x140207b88]
mov qword [rbp + 0x1e8], rax
lea rcx, [rbp + 0x230]
lea rdx, [rbp + 0x1e0]
sub rsp, 0x20
call fcn.14004e300
mov rax, qword [rbp + 0x1a0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14012feea
mov eax, dword [0x1401f9b08]
xor eax, 0x868ac49e
and eax, dword [0x1401f9b0c]
mov ecx, 0x552015e7
xor ecx, 0xcabf1705
xor edx, edx
div ecx
add eax, 0x8eefed01
add eax, 0x668fbafb
sub eax, 0x8eefed01
mov ecx, 0xfdced82
xor ecx, 0x4ea790d0
or eax, ecx
mov ecx, 0x845de15a
xor ecx, 0xe5ba6e2a
cmp eax, ecx
je 0x14013009a
mov rcx, qword [rbp + 0x178]
mov eax, dword [0x1401f9b10]
mov edx, 0x1d0dab90
xor edx, 0x43e3881a
xor eax, edx
mov r8d, dword [0x1401f9b14]
mov edx, eax
xor edx, r8d
mov r9d, 0x7c3c116c
xor r9d, 0x83c3ee93
xor edx, r9d
or eax, r8d
and eax, edx
xor edx, edx
sub edx, 0xa79d68ec
sub eax, edx
mov r9d, 0xffffffff
xor r9d, 0x92be953a
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0x530fcdf4
xor r9d, 0xacf0320b
xor edx, r9d
imul edx, r8d
mov r9d, 0xe9f1473e
xor r9d, 0x7b4fd204
mov r8d, eax
and r8d, r9d
or eax, 0x92be953a
imul eax, r8d
add eax, edx
or eax, 0x736bbb4c
mov dword [rbp + 0x124], eax
mov rax, qword [rbp + 0x230]
mov qword [rbp + 0x1d0], rax
mov rax, qword [rbp + 0x238]
mov qword [rbp + 0x1d8], rax
mov r8b, 0x6f
xor r8b, 0x33
mov r9b, 0xbd
xor r9b, 0x92
lea rdx, [rbp + 0x1d0]
sub rsp, 0x20
call fcn.140045d40
mov rdx, qword [rbp + 0x178]
mov rcx, qword [rbp + 0x1a0]
mov eax, dword [rbp + 0x124]
add rsp, 0x20
mov r8, qword [rdx]
mov qword [rbp + 0x128], r8
mov rdx, qword [rdx + 8]
mov qword [rbp + 0x130], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x13f], cl
cmp eax, 0x49417fc1
je 0x14012db6a
mov al, byte [rbp + 0x13f]
test al, 1
jne 0x14012dc95
jmp 0x14012fdc1
mov rax, qword [rbp + 0x130]
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x160]
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rbp + 0x1c0], rdx
mov qword [rbp + 0x1c8], rax
sub rsp, 0x20
lea rdx, [rbp + 0x1c0]
call fcn.14005d790
add rsp, 0x20
mov cl, al
mov rax, qword [rbp + 0x1a0]
mov al, byte [rax]
test al, al
sete al
mov byte [rbp + 0x123], al
and al, cl
test al, 1
jne 0x14012dcf7
jmp 0x14012dd87
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140016330
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140208580]
mov qword [rcx], rax
lea rax, [0x140207b38]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140207b90]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140207b98]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x5ab07ae0fc0c10d6
movabs rdx, 0x5ab07ae0ad53d709
xor rax, rdx
lea rdx, [0x140207b38]
lea r8, [0x140207b43]
lea r9, [0x140207b4b]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140016090
add rsp, 0x30
jmp 0x14012fdc1
mov al, byte [rbp + 0x123]
test al, 1
jne 0x14012dd9a
jmp 0x14012fdc1
mov eax, dword [0x1401f9b18]
mov r8d, dword [0x1401f9b1c]
xor r8d, 0x32140c08
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 ecx, 0x8da8369d
xor ecx, 0x1228498b
xor edx, edx
div ecx
xor eax, 0x9f2c190f
or eax, 0x1f0cacbe
mov ecx, 0xdac7bf97
xor ecx, 0x9c4677fd
cmp eax, ecx
jbe 0x1401300a3
mov rax, qword [rbp + 0x150]
mov edx, dword [0x1401f9b20]
mov r8d, dword [str.__Mf]
mov ecx, edx
or ecx, ecx
xor ecx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
mov r10d, r8d
xor r10d, 0xffffffff
and r9d, r10d
mov r10d, 0x42d7088d
xor r10d, 0xbd28f772
xor ecx, r10d
xor r9d, 0xffffffff
and ecx, r9d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0x2792cdb2
xor edx, 0xa1ec07e2
sub ecx, edx
mov r8d, ecx
xor r8d, 0xffffffff
and r8d, 0x6b9245ca
mov r9d, 0xffffffff
xor r9d, 0x6b9245ca
mov edx, ecx
and edx, r9d
imul edx, r8d
mov r8d, ecx
and r8d, 0x6b9245ca
or ecx, 0x6b9245ca
imul ecx, r8d
add ecx, edx
add ecx, 0x49d6e09f
add ecx, 0x72fca199
sub ecx, 0x49d6e09f
mov dword [rbp + 0x118], ecx
mov ecx, 0xdb0b8bee
xor ecx, 0x2941dd30
mov dword [rbp + 0x114], ecx
mov rcx, qword [rax]
mov qword [rbp + 0x108], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x100], rax
sub rsp, 0x20
call fcn.14012c3c1
mov rcx, qword [rbp + 0x100]
mov rdx, qword [rbp + 0x108]
add rsp, 0x20
movabs r8, 0xe040c2e27a235a69
movabs rax, 0xe040c2e27a235a69
xor r8, rax
add rcx, 8
lea rax, [0x140207bd0]
cmp rdx, r8
cmove rcx, rax
sub rsp, 0x20
call fcn.14011fc0a
mov rdx, qword [rbp + 0x1a0]
mov ecx, dword [rbp + 0x114]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x118]
mov dword [rbp + 0x11c], r8d
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x122], dl
cmp eax, ecx
ja 0x14012ddfe
mov al, byte [rbp + 0x122]
test al, 1
jne 0x14012df6a
jmp 0x14012fdc1
mov rax, qword [rbp + 0x150]
mov rax, qword [rax]
movabs rcx, 0xbac2e1a06dd421d7
movabs rdx, 0xbac2e1a06dd421d7
xor rcx, rdx
cmp rax, rcx
jne 0x14012dfde
mov rax, qword [rbp + 0x160]
mov rdx, qword [rax]
mov r8, qword [rdx + 8]
xor eax, eax
mov cx, ax
xor eax, eax
mov qword [rbp + 0xd0], r8
mov qword [rbp + 0xd8], rdx
mov word [rbp + 0xe6], cx
mov rcx, rax
mov qword [rbp + 0xe8], rcx
mov rcx, rax
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jmp 0x14012e284
mov eax, dword [0x1401f9b28]
sub eax, dword [0x1401f9b2c]
mov ecx, eax
xor ecx, 0xa59436c6
xor ecx, 0xffffffff
mov edx, 0x609dcd34
xor edx, 0xc509fbf2
or eax, edx
and eax, ecx
mov ecx, 0x887e545
xor edx, edx
div ecx
sub eax, 0x829607c
mov ecx, 0x7c1d122b
xor ecx, 0x7aa3c64c
cmp eax, ecx
jb 0x1401300ac
mov rcx, qword [rbp + 0x180]
mov eax, dword [0x1401f9b30]
mov r8d, dword [0x1401f9b34]
mov edx, eax
and edx, r8d
shl edx, 1
add eax, r8d
sub eax, edx
mov edx, 0x59a8da
xor edx, 0x8335a12d
imul eax, edx
mov r8d, 0xb7b576ef
xor edx, edx
div r8d
mov rdx, qword [rbp + 0x190]
mov r8d, eax
mov rax, qword [rbp + 0x150]
mov r9d, 0x2e142db0
xor r9d, 0x2e142db0
sub r9d, r8d
mov r8d, 0x1410d4d1
xor r8d, 0x1410d4d1
mov r10d, 0xa65a9ab4
xor r10d, 0xc2f15233
sub r8d, r10d
add r9d, r8d
mov r8d, 0xb3b48a02
xor r8d, 0xb3b48a02
sub r8d, r9d
mov dword [rbp + 0xb4], r8d
mov r8d, 0x28f966e6
xor r8d, 0xa025dabe
mov dword [rbp + 0xb0], r8d
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
movabs r8, 0xf082e387073cd8c7
movabs rax, 0xf082e387073cd8c6
xor r8, rax
mov r9b, 0xee
xor r9b, 0xef
sub rsp, 0x20
call fcn.14012bf20
mov r8, qword [rbp + 0x180]
mov rdx, qword [rbp + 0x1a0]
mov ecx, dword [rbp + 0xb0]
mov eax, dword [rbp + 0xb4]
add rsp, 0x20
mov r9, qword [r8]
mov qword [rbp + 0xb8], r9
mov r8, qword [r8 + 8]
mov qword [rbp + 0xc0], r8
mov dl, byte [rdx]
mov r8b, 0x51
xor r8b, 0x51
cmp dl, r8b
sete dl
mov byte [rbp + 0xcf], dl
cmp eax, ecx
ja 0x14012e025
mov rax, qword [rbp + 0xc0]
mov cl, byte [rbp + 0xcf]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x14012e172
jmp 0x14012fcd8
mov eax, dword [0x1401f9b38]
xor eax, 0xb309871f
xor edx, edx
div dword [0x1401f9b3c]
mov ecx, eax
mov eax, 0xcb646f0b
xor eax, 0x9e716b30
sub ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x32261dbb
mov edx, 0xffffffff
xor edx, 0x32261dbb
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x2f8407cb
xor ecx, 0xd0fd0543
xor eax, ecx
cmp eax, 0xb3943649
jae 0x1401300b5
mov rcx, qword [rbp + 0x160]
mov eax, dword [0x1401f9b40]
xor edx, edx
div dword [0x1401f9b44]
mov r8d, 0xfb644bd9
xor edx, edx
div r8d
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, 0x5da907e5
add edx, eax
xor eax, eax
sub eax, edx
mov edx, 0x33124b84
xor edx, 0xf9437a99
or eax, edx
mov rcx, qword [rcx]
mov qword [rbp + 0x98], rcx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0xa0], rcx
cmp eax, 0x3f6666b3
jb 0x14012e1d2
mov rax, qword [rbp + 0xc0]
mov rcx, qword [rbp + 0xb8]
mov rdx, qword [rbp + 0xa0]
mov r9, qword [rbp + 0x98]
mov r8w, 8
mov r10, rdx
mov qword [rbp + 0xd0], r10
mov qword [rbp + 0xd8], r9
mov word [rbp + 0xe6], r8w
mov qword [rbp + 0xe8], rdx
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
jmp 0x14012e284
mov r8, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xd8]
mov cx, word [rbp + 0xe6]
mov r9, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0xf0]
mov r10, qword [rbp + 0xf8]
mov qword [rbp + 0x60], r10
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], r9
mov word [rbp + 0x7e], cx
mov qword [rbp + 0x80], rax
add rax, 8
mov qword [rbp + 0x88], rax
movabs rax, 0x4f49bd5333041840
movabs rcx, 0x4f3641dc618496b9
xor rax, rcx
mov rcx, r8
add rcx, rax
add rcx, rdx
movabs rax, 0x7ffc8f52808ef9
sub rcx, rax
mov qword [rbp + 0x90], rcx
mov rax, rcx
xor rax, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xe80d12a159448dd7
movabs rdx, 0xe80d12a159448dd7
xor rcx, rdx
cmp rax, rcx
jge 0x14012e34d
sub rsp, 0x20
call fcn.1400091c0
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x90]
cmp qword [rax + 0x18], rcx
jge 0x14012e3ed
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.140016330
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x140208580]
mov qword [rcx], rax
lea rax, [0x140207b38]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140207b90]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140207b98]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140207b38]
lea r8, [0x140207b43]
lea r9, [0x140207b4b]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x3946a05b
call fcn.140016090
mov rax, qword [rbp + 0x60]
add rsp, 0x30
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov eax, dword [0x1401f9b48]
add eax, dword [0x1401f9b4c]
mov ecx, 0x1a324b9d
xor edx, edx
div ecx
sub eax, 0xa774025e
xor eax, 0xdad7d21c
cmp eax, 0x4929d456
je 0x1401300be
mov rcx, qword [rbp + 0x88]
mov edx, dword [0x1401f9b50]
mov r8d, dword [0x1401f9b54]
mov eax, edx
add eax, 1
xor edx, 0xffffffff
or edx, r8d
add edx, eax
mov eax, edx
and eax, 0x14373173
xor edx, 0x14373173
or eax, edx
and eax, 0x645e21ee
mov edx, 0x22f38aff
xor edx, 0x22f38aff
sub edx, eax
xor eax, eax
sub eax, 0xb3fbcfa8
add edx, eax
xor eax, eax
sub eax, edx
mov dword [rbp + 0x58], eax
mov edx, 0x4034b50
sub rsp, 0x20
call fcn.14012c6ab
mov rcx, qword [rbp + 0x1a0]
mov eax, dword [rbp + 0x58]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x62
xor dl, 0x62
cmp cl, dl
sete cl
mov byte [rbp + 0x5f], cl
cmp eax, 0xd6a9763e
jae 0x14012e417
mov rax, qword [rbp + 0x60]
mov cl, byte [rbp + 0x5f]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x14012e4bb
jmp 0x14012fcd8
mov eax, dword [0x1401f9b58]
mov edx, dword [0x1401f9b5c]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
add eax, 0xe25200a6
add eax, 0x44ac8539
mov ecx, 0x84d02c6f
xor ecx, 0x66822cc9
sub eax, ecx
mov r8d, 0x633299ed
xor r8d, 0x58f70af2
mov ecx, 0xe08b65
xor ecx, 0xff1f749a
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, 0x3bc5931f
mov r8d, 0x4f32a653
xor r8d, 0x74f7354c
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x65d234c2
xor ecx, 0x65d234c2
mov edx, 0x8442a8c4
xor edx, 0x3a4f73b3
sub ecx, edx
sub eax, ecx
cmp eax, 0xf23d4df2
je 0x1401300c7
mov ecx, dword [0x1401f9b60]
xor ecx, 0x21e37d77
mov r8d, dword [0x1401f9b64]
xor r8d, 0xa2672d14
mov eax, ecx
xor eax, 0xffffffff
mov r9d, 0xa370b994
xor r9d, 0x5c8f466b
mov edx, ecx
xor edx, r9d
or eax, edx
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
or eax, edx
mov r9d, 0xb797c120
xor r9d, 0x48683edf
mov edx, r8d
xor edx, r9d
xor r8d, 0xffffffff
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
mov ecx, 0x965a0718
xor ecx, 0x69a5f8e7
xor eax, ecx
mov ecx, 0x85e094cb
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xdd17c0e2
or eax, edx
and ecx, 0xdd17c0e2
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xdb7b6eb1
xor ecx, 0x6427899f
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x160]
mov dword [rbp + 0x50], ecx
mov rcx, qword [rax]
add rcx, 8
mov edx, 0x2d
sub rsp, 0x20
call fcn.14012cde0
mov rcx, qword [rbp + 0x1a0]
mov eax, dword [rbp + 0x50]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x1d
xor dl, 0x1d
cmp cl, dl
sete cl
mov byte [rbp + 0x57], cl
cmp eax, 0x892be8e7
ja 0x1401300c7
mov rax, qword [rbp + 0x60]
mov cl, byte [rbp + 0x57]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x14012e667
jmp 0x14012fcd8
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax]
add rcx, 8
mov edx, 0x800
sub rsp, 0x20
call fcn.14012d0a0
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xa8], rax
jne 0x14012fcd8
mov dx, word [rbp + 0x7e]
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax]
add rcx, 8
sub rsp, 0x20
call fcn.14012d0a0
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x30
xor dl, 0x30
cmp cl, dl
mov qword [rbp + 0xa8], rax
jne 0x14012fcd8
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax]
add rcx, 8
mov dx, word [0x14021aaa0]
sub rsp, 0x20
call fcn.14012d0a0
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x2a
xor dl, 0x2a
cmp cl, dl
mov qword [rbp + 0xa8], rax
jne 0x14012fcd8
mov eax, dword [0x1401f9b68]
xor edx, edx
div dword [0x1401f9b6c]
mov ecx, 0x1a0474d9
xor edx, edx
div ecx
or eax, 0xad72aef8
add eax, 0x3465ffd
mov ecx, 0x1c06c0e5
xor ecx, 0xd4a0aeec
cmp eax, ecx
ja 0x1401300d0
mov eax, dword [0x1401f9b70]
xor edx, edx
div dword [0x1401f9b74]
mov ecx, eax
mov rax, qword [rbp + 0x160]
add ecx, 0xe6cbc5b0
mov edx, 0xfb75d27c
xor edx, 0x85833310
sub ecx, edx
mov edx, 0xffffffff
xor edx, 0xc35fa716
add ecx, edx
add ecx, 1
mov dword [rbp + 0x48], ecx
mov ecx, 0x4211a4c7
xor ecx, 0x903bd97e
mov dword [rbp + 0x44], ecx
mov rcx, qword [rax]
add rcx, 8
mov dx, word [0x14021aaa2]
sub rsp, 0x20
call fcn.14012d0a0
mov rdx, qword [rbp + 0x1a0]
mov ecx, dword [rbp + 0x44]
mov eax, dword [rbp + 0x48]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x4f], dl
cmp eax, ecx
je 0x14012e759
mov rax, qword [rbp + 0x60]
mov cl, byte [rbp + 0x4f]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x14012e7f9
jmp 0x14012fcd8
mov edx, dword [rbp + 0x11c]
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax]
add rcx, 8
sub rsp, 0x20
call fcn.14012c6ab
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xa8], rax
jne 0x14012fcd8
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax]
add rcx, 8
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.14012c6ab
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xa8], rax
jne 0x14012fcd8
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax]
add rcx, 8
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.14012c6ab
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xa8], rax
jne 0x14012fcd8
mov rax, qword [rbp + 0x158]
mov rcx, qword [rbp + 0x160]
mov rcx, qword [rcx]
add rcx, 8
mov rax, qword [rax]
mov dx, ax
sub rsp, 0x20
call fcn.14012d0a0
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xa8], rax
jne 0x14012fcd8
mov ecx, dword [0x1401f9b78]
add ecx, dword [0x1401f9b7c]
mov eax, ecx
and eax, 0x881c9dbf
mov edx, 0x25272105
xor edx, 0xad3bbcba
xor ecx, edx
or eax, ecx
mov ecx, 0x38937904
xor edx, edx
div ecx
mov r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x500e2c99
mov r8d, 0xffffffff
xor r8d, 0x50308b31
mov eax, ecx
and eax, 0x50308b31
and r11d, r8d
mov r10d, 0x412cdc25
xor r10d, 0x111c5714
mov r9d, edx
and r9d, r10d
mov r10d, r8d
and r10d, 0x500e2c99
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
mov edx, 0xb01bbfd1
xor edx, 0x4fe4402e
xor ecx, edx
mov edx, 0x2631a44
xor edx, 0x52539175
or edx, r8d
and ecx, edx
or eax, ecx
cmp eax, 0xd6f1e83f
je 0x1401300d9
mov rax, qword [rbp + 0x160]
mov edx, dword [0x1401f9b80]
xor edx, dword [0x1401f9b84]
mov ecx, edx
and ecx, ecx
mov r8d, 0xdbc12666
xor r8d, 0x243ed999
xor ecx, r8d
and ecx, 0xe997956e
xor ecx, 0xffffffff
mov r8d, 0x8cc260b7
xor r8d, 0x6555f5d9
mov r9d, 0xce0e1212
xor r9d, 0x2799877c
and r8d, r9d
xor r8d, 0xffffffff
and edx, r8d
xor edx, 0xffffffff
and ecx, edx
mov edx, 0x1d3e1c6b
xor edx, 0xe2c1e394
xor ecx, edx
mov edx, 0x37f99aa5
xor edx, 0xd5ae18b5
imul ecx, edx
and ecx, 0x2cdc5fcb
mov dword [rbp + 0x3c], ecx
mov rcx, qword [rax]
add rcx, 8
movabs rdx, 0x2799748531b73fca
movabs rax, 0x2799748531b73fde
xor rdx, rax
sub rsp, 0x20
call fcn.14012cde0
mov rcx, qword [rbp + 0x1a0]
mov eax, dword [rbp + 0x3c]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x23
xor dl, 0x23
cmp cl, dl
sete cl
mov byte [rbp + 0x43], cl
cmp eax, 0xd65a0c1c
ja 0x1401300d9
mov rax, qword [rbp + 0x60]
mov cl, byte [rbp + 0x43]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x14012ea7e
jmp 0x14012fcd8
mov r8d, dword [0x1401f9b88]
mov edx, dword [0x1401f9b8c]
mov eax, 0x1bc0e65d
xor eax, 0xe43f19a2
mov ecx, edx
xor ecx, eax
mov eax, r8d
and eax, ecx
mov ecx, r8d
xor ecx, edx
add r8d, ecx
sub r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x892bd89e
mov r9d, 0xffffffff
xor r9d, 0x892bd89e
and r8d, r9d
mov eax, 0x532b3d53
xor eax, 0x8805a278
mov edx, 0x7158cef5
xor edx, 0x8ea7310a
xor eax, edx
and eax, 0x892bd89e
mov edx, 0xd74b265f
xor edx, 0xc65b974
and edx, r9d
or ecx, r8d
or eax, edx
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0xbcf1d49c
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x8222c3ba
xor edx, edx
div ecx
cmp eax, 0x85efffed
jae 0x1401300e2
mov rcx, qword [rbp + 0x160]
mov rax, qword [rbp + 0x158]
mov r8d, dword [0x1401f9b90]
mov edx, 0x1227a7a7
xor edx, 0xe24d1117
xor r8d, edx
mov edx, dword [0x1401f9b94]
mov r9d, 0x74f1c91f
xor r9d, 0x98b6641d
xor edx, r9d
mov r9d, 0xc512749e
xor r9d, 0x3aed8b61
xor edx, r9d
xor r9d, r9d
sub r9d, 1
sub edx, r9d
sub r8d, edx
mov edx, 0xef0822e
xor edx, 0xe5b5f047
xor r8d, edx
mov edx, 0x6a499eba
xor edx, 0xe3511439
or r8d, edx
mov r9d, 0xab0b5526
xor r9d, 0x7d6a9658
mov edx, r8d
and edx, r9d
xor r8d, 0xd661c37e
or edx, r8d
mov dword [rbp + 0x34], edx
mov edx, 0xa4274c66
xor edx, 0xf5ad19d6
mov dword [rbp + 0x30], edx
mov rcx, qword [rcx]
add rcx, 8
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14001e600
mov rax, qword [rbp + 0x158]
mov rdx, qword [rbp + 0x198]
mov rcx, qword [rbp + 0x160]
add rsp, 0x20
mov rcx, qword [rcx]
add rcx, 8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140130160
mov rax, qword [rbp + 0x160]
add rsp, 0x20
mov rcx, qword [rax]
add rcx, 8
mov edx, 1
sub rsp, 0x20
call fcn.14012d0a0
mov rdx, qword [rbp + 0x1a0]
mov ecx, dword [rbp + 0x30]
mov eax, dword [rbp + 0x34]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x3b], dl
cmp eax, ecx
jb 0x14012eb1b
mov rax, qword [rbp + 0x60]
mov cl, byte [rbp + 0x3b]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x14012ec63
jmp 0x14012fcd8
mov edx, dword [0x1401f9b98]
mov ecx, dword [0x1401f9b9c]
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and ecx, ecx
xor ecx, 0xffffffff
mov edx, 0x8f17ddc9
xor edx, 0x70e82236
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
and eax, 0x39b5309e
mov edx, eax
xor edx, 0x1fa2b1e5
mov ecx, 0x941b278b
xor ecx, 0x6be4d874
xor edx, ecx
mov ecx, 0x7ecdc002
xor ecx, 0x616f71e7
and ecx, edx
shl ecx, 1
sub ecx, 0x1fa2b1e5
sub eax, ecx
or eax, 0xb83103a1
mov ecx, 0x4522d06d
xor ecx, 0xe809c2ba
cmp eax, ecx
je 0x1401300eb
mov eax, dword [0x1401f9ba0]
mov ecx, dword [0x1401f9ba4]
mov edx, 0x7c5d5d1
xor edx, 0x99d70a1b
xor ecx, edx
xor edx, edx
div ecx
and eax, 0x85996efe
mov ecx, 0x3f03af6a
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rbp + 0x160]
add ecx, 0x2cbf3ff
mov dword [rbp + 0x28], ecx
mov rcx, qword [rax]
add rcx, 8
mov edx, 0x10
sub rsp, 0x20
call fcn.14012cde0
mov rcx, qword [rbp + 0x1a0]
mov eax, dword [rbp + 0x28]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0x5c797578
ja 0x14012ecda
mov rax, qword [rbp + 0x60]
mov cl, byte [rbp + 0x2f]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x14012ed6a
jmp 0x14012fcd8
mov rdx, qword [rbp + 0x108]
mov rax, qword [rbp + 0x160]
mov rcx, qword [rax]
add rcx, 8
sub rsp, 0x20
call fcn.14012d3e0
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xa8], rax
jne 0x14012fcd8
mov eax, dword [0x1401f9ba8]
mov ecx, dword [0x1401f9bac]
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe8481a99
or eax, ecx
mov ecx, 0xaf6be74c
xor ecx, 0x4723fdd5
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xc7e00fb6
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x196ab0a2
xor r8d, 0xde8abf14
mov edx, eax
and edx, r8d
or eax, 0xc7e00fb6
imul eax, edx
add eax, ecx
sub eax, 0x67b8e0e6
mov edx, 0x5dc7e71e
xor edx, 0x1b71e7ba
mov ecx, 0x7b679edd
xor ecx, 0x84986122
xor edx, ecx
mov ecx, eax
and ecx, edx
mov r8d, 0xa794c9b
xor r8d, 0x4ccf4c3f
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
cmp eax, 0x32503b60
jbe 0x1401300f4
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x160]
mov ecx, dword [0x1401f9bb0]
mov r8d, dword [0x1401f9bb4]
xor r8d, 0x1a604ac9
imul ecx, r8d
or ecx, 0x39446f1d
mov r10d, 0xffffffff
xor r10d, 0x6f303616
mov r9d, ecx
and r9d, r10d
mov r8d, ecx
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r10d, 0x610a87c5
xor r10d, 0xe3ab1d3
mov r9d, ecx
and r9d, r10d
or ecx, 0x6f303616
imul ecx, r9d
add ecx, r8d
mov r8d, 0xbb3f7eae
xor r8d, 0x17376064
xor ecx, r8d
mov dword [rbp + 0x20], ecx
mov rcx, qword [rax]
add rcx, 8
sub rsp, 0x20
call fcn.14012d3e0
mov rcx, qword [rbp + 0x1a0]
mov eax, dword [rbp + 0x20]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x27], cl
cmp eax, 0xac2a5c32
jae 0x1401300f4
mov rax, qword [rbp + 0x60]
mov cl, byte [rbp + 0x27]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x14012ef1e
jmp 0x14012fcd8
mov rax, qword [rbp + 0x68]
movabs rcx, 0xa969a4ac83029234
movabs rdx, 0xa969a4ac83029234
xor rcx, rdx
cmp rax, rcx
je 0x14012f401
mov rdx, qword [rbp + 0x68]
mov rax, qword [rbp + 0x160]
mov rax, qword [rax]
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x10], rcx
mov r9, qword [rax + 8]
mov rcx, r9
add rcx, rdx
mov qword [rbp + 0x18], rcx
mov rax, rcx
or rax, rax
xor rax, 0xffffffffffffffff
mov r8, r9
xor r8, 0xffffffffffffffff
mov r10, r9
xor r10, 0xffffffffffffffff
and r8, r10
or rax, r8
movabs r8, 0x8c583e6c048343f8
movabs r10, 0x73a7c193fb7cbc07
xor r8, r10
xor rax, r8
mov r8, rcx
or r8, r9
movabs r9, 0x6c48f1163a132686
movabs r10, 0x93b70ee9c5ecd979
xor r9, r10
xor r8, r9
movabs r9, 0xcc93b9d8debee66e
movabs r10, 0x336c462721411991
xor r9, r10
xor rax, r9
movabs r9, 0x10a8889de4e7721a
movabs r10, 0xef5777621b188de5
xor r9, r10
xor r8, r9
and rax, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x14012f025
sub rsp, 0x20
call fcn.1400091c0
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov eax, dword [0x1401f9bb8]
mov edx, dword [0x1401f9bbc]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xd8cdbb94
xor ecx, 0x7f038923
xor edx, edx
div ecx
mov ecx, eax
mov eax, 0xa9008707
xor eax, 0xb20b2335
or ecx, eax
mov eax, ecx
and eax, 0x4957b630
xor ecx, 0x4957b630
or eax, ecx
cmp eax, 0xc018a1e
jb 0x1401300fd
mov eax, dword [0x1401f9bc0]
mov ecx, 0xc755ed7e
xor ecx, 0x5c204644
xor eax, ecx
mov ecx, dword [0x1401f9bc4]
mov edx, 0x8b4ffeee
xor edx, 0x3325d2c5
xor ecx, edx
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x18]
mov ecx, 0x69d60837
xor ecx, 0xb4ffc0aa
and eax, ecx
sub eax, 0xd2283dcc
sub eax, 0x51b373bb
add eax, 0xd2283dcc
sub eax, 0xce8446ce
mov ecx, 0x1ed09f7
xor ecx, 0xbf1e587e
cmp rdx, 0
setl dl
mov byte [rbp + 0xf], dl
cmp eax, ecx
jb 0x14012f07e
mov al, byte [rbp + 0xf]
test al, 1
jne 0x14012f0fa
jmp 0x14012f149
mov rcx, qword [rbp + 0x18]
movabs rdx, 0x9ff9f331c46d51d7
movabs rax, 0x9ff9f331c46d51d7
xor rdx, rax
movabs r8, 0x36f15b7e6cab90f4
movabs rax, 0x490ea48193546f0b
xor r8, rax
sub rsp, 0x20
call fcn.14000f6ec
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov rdx, qword [rbp + 0x18]
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.140018050
mov rax, qword [rbp + 0x160]
mov r8, qword [rbp + 0x68]
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
mov rcx, qword [rax + 8]
mov qword [rbp - 8], rcx
mov rdx, rcx
sub rdx, r8
mov qword [rbp], rdx
mov rax, rdx
and rax, rax
xor rax, 0xffffffffffffffff
and rax, rcx
movabs r9, 0xfbfddd16aa1e69
movabs r10, 0xff040222e955e196
xor r9, r10
xor rax, r9
mov r9, rcx
xor r9, 0xffffffffffffffff
movabs r10, 0x681629156d955f34
movabs r11, 0x97e9d6ea926aa0cb
xor r10, r11
xor rcx, r10
or r9, rcx
mov rcx, rdx
and rcx, r9
xor rcx, 0xffffffffffffffff
and rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
setl cl
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rax, r8
and rax, r9
xor r8, 0xffffffffffffffff
and rdx, r8
or rax, rdx
cmp rax, 0xffffffffffffffff
setg dl
mov al, cl
and al, dl
xor al, 0xff
xor cl, 0xff
xor dl, 0xff
or cl, dl
xor al, 0xff
xor cl, 0xff
or al, cl
test al, 1
jne 0x14012f225
jmp 0x14012f242
sub rsp, 0x20
call fcn.1400091c0
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov rax, qword [rbp]
mov rdx, qword [rbp - 8]
cmp rax, 0xffffffffffffffff
setg cl
cmp rax, rdx
setl dl
xor eax, eax
xor al, 1
xor dl, al
mov al, cl
xor al, dl
and al, cl
test al, 1
jne 0x14012f2b8
mov rcx, qword [rbp]
mov rdx, qword [rbp - 8]
xor eax, eax
sub rax, rdx
xor edx, edx
sub rdx, 0xffffffffffffffff
add rax, rdx
movabs rdx, 0xc259d967afdc9b1f
movabs r8, 0xc259d967afdc9b1f
xor rdx, r8
sub rdx, rax
sub rsp, 0x20
call fcn.140016582
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov eax, dword [0x1401f9bc8]
xor edx, edx
div dword [0x1401f9bcc]
mov ecx, 0xcfa7ff3d
xor ecx, 0x195a216a
xor eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xb79dc35d
mov edx, 0xffffffff
xor edx, 0xb79dc35d
and eax, edx
sub eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x94cd36da
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x94cd36da
mov r8d, 0x3dad0019
xor r8d, 0xa96036c3
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x1ff8b4be
je 0x140130106
mov rcx, qword [rbp + 0x68]
mov eax, dword [0x1401f9bd0]
mov r8d, dword [0x1401f9bd4]
mov r9d, 0xd98a9e20
xor r9d, 0xd98a9e21
mov edx, eax
add edx, r9d
xor eax, 0xffffffff
or eax, r8d
add eax, edx
mov edx, eax
and edx, 0xe14a7897
shl edx, 1
xor eax, 0xe14a7897
add eax, edx
xor eax, 0x134135ab
mov edx, 0xed4028bb
xor edx, 0xeffd6ec2
and eax, edx
cmp rcx, 0
setl cl
mov byte [rbp - 0x11], cl
cmp eax, 0xd3c6d61c
je 0x140130106
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14012f3a6
jmp 0x14012f3d5
mov rcx, qword [rbp + 0x68]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.14000f6ec
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov r8, qword [rbp + 0x68]
mov rdx, qword [rbp + 0x60]
mov rax, qword [rbp]
mov rcx, qword [rbp - 0x10]
mov rcx, qword [rcx + 0x10]
add rcx, 8
add rcx, rax
add rdx, 8
sub rsp, 0x20
call fcn.14012cd73
add rsp, 0x20
mov rax, qword [rbp + 0x170]
movabs rcx, 0x9e97dac53b4b4263
mov qword [rax], rcx
mov rax, qword [0x140208930]
mov rax, qword [rax]
mov qword [rbp - 0x20], rax
cmp rax, 0x82
jge 0x14012f459
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffff
mov ecx, 0x81
sub rsp, 0x20
call fcn.140016582
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov rax, qword [rbp + 0x128]
cmp rax, 1
jge 0x14012f4d0
mov rdx, qword [rbp + 0x128]
movabs rax, 0xfde41fc3995af84
movabs rcx, 0x1c28950f69ca72ca
xor rax, rcx
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x13f6d4f3505fdd4e
sub rdx, rax
movabs rcx, 0x620f57fedd296618
movabs rax, 0x620f57fedd296618
xor rcx, rax
sub rsp, 0x20
call fcn.140016582
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov rax, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x130]
add rcx, 8
mov qword [rbp + 0x210], rcx
cmp rax, 0x7fffffff
jbe 0x14012f526
mov rcx, qword [rbp + 0x128]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000f6ec
mov rax, qword [rbp + 0x60]
add rsp, 0x20
mov qword [rbp + 0xa8], rax
jmp 0x14012fcd8
mov eax, dword [0x1401f9bd8]
mov r8d, dword [0x1401f9bdc]
mov ecx, eax
xor ecx, 0xffffffff
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
mov edx, 0xffffffff
xor edx, 0x29cff6ad
mov ecx, eax
and ecx, edx
mov r8d, 0x7880d97b
xor r8d, 0x514f2fd6
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov ecx, 0x678484cc
xor ecx, 0x6b406c7c
or eax, ecx
mov ecx, 0x89135ec5
xor edx, edx
div ecx
mov ecx, 0x937409b0
xor ecx, 0x673cfd7d
cmp eax, ecx
ja 0x14013010f
mov r8, qword [rbp + 0x128]
mov eax, dword [0x1401f9be0]
mov edx, dword [0x1401f9be4]
mov r9d, eax
xor r9d, edx
mov ecx, 0x76bf2247
xor ecx, 0x8940ddb8
xor r9d, ecx
mov ecx, edx
and ecx, r9d
shl ecx, 1
sub ecx, edx
sub eax, ecx
mov ecx, 0xd4d169f4
xor ecx, 0x39b0dc29
and ecx, eax
xor ecx, 0xffffffff
add eax, 0xed61b5dd
add eax, 1
add eax, ecx
mov edx, 0xffffffff
xor edx, 0x7d2fbd69
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0x7d2fbd69
add eax, edx
sub eax, ecx
mov ecx, 0xc85e2e9
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x170]
mov ecx, 0xdbfc1b38
xor ecx, 0xd962b675
mov dword [rbp + 0x218], r8d
mov qword [rbp + 0x220], rdx
mov dword [rbp + 0x228], 8
mov rdx, qword [0x140208930]
mov rdx, qword [rdx + 8]
mov r8, qword [rdx + 0x2460]
mov qword [rbp - 0x38], r8
cmp r8, 0
sete r8b
mov byte [rbp - 0x29], r8b
mov rdx, qword [rdx + 0x2458]
mov qword [rbp - 0x28], rdx
cmp eax, ecx
je 0x14012f5a7
mov al, byte [rbp - 0x29]
test al, 1
jne 0x14012f6a5
jmp 0x14012f687
mov rax, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x38]
lea rcx, [rbp + 0x210]
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x14012f6ba
mov rax, qword [rbp - 0x28]
lea rcx, [rbp + 0x210]
sub rsp, 0x20
call rax
add rsp, 0x20
mov r8d, dword [0x1401f9be8]
mov eax, dword [0x1401f9bec]
xor eax, 0x8c3a7492
and r8d, eax
mov eax, 0x65c0435a
xor eax, 0x46059d66
sub r8d, eax
sub r8d, 0x30a25e81
add r8d, 0x23c5de3c
and r8d, 0x55aa60f3
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xf2ea649f
xor eax, 0x353a9ef7
and eax, ecx
mov r9d, 0xffffffff
xor r9d, 0xc7d0fa68
and r8d, r9d
mov ecx, 0x97bef42b
xor ecx, 0xdc047b43
mov edx, 0x9c17c9eb
xor edx, 0x63e83614
xor ecx, edx
and ecx, 0xc7d0fa68
mov edx, 0xae681f59
xor edx, 0xe5d29031
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
cmp eax, 0x5b63675d
je 0x140130118
mov rdx, qword [rbp + 0x1a0]
mov ecx, dword [0x1401f9bf0]
mov r8d, dword [0x1401f9bf4]
xor r8d, 0x6df588e2
xor r8d, 0xffffffff
mov eax, ecx
xor eax, r8d
and eax, ecx
mov r9d, 0x315bae14
xor r9d, 0x67c0194d
mov ecx, 0x52ce8882
xor ecx, 0xad31777d
xor r9d, ecx
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x54564bb0
xor r9d, 0xaba9b44f
xor ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0x569bb759
or eax, 0x569bb759
imul eax, r8d
add eax, ecx
mov ecx, 0x43d1a40
xor ecx, 0x229120de
imul eax, ecx
mov ecx, 0x8c6bf2e1
xor ecx, 0x9a963d5d
xor eax, ecx
mov ecx, 0x9be485b3
xor ecx, 0xd71bc7ca
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x39], dl
cmp eax, ecx
jbe 0x14012f751
mov rax, qword [rbp + 0x60]
mov cl, byte [rbp - 0x39]
test cl, 1
mov qword [rbp + 0xa8], rax
jne 0x14012f819
jmp 0x14012fcd8
mov rsi, qword [rbp + 0x68]
mov rdi, qword [rbp + 0x70]
mov ecx, 0x20
mov edx, 8
sub rsp, 0x20
call fcn.14001fda0
mov r11, qword [rbp + 0x108]
mov r10w, word [rbp + 0x7e]
mov r9d, dword [rbp + 0x11c]
mov rcx, qword [rbp + 0x160]
mov rdx, qword [rbp + 0x128]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x130]
mov qword [r8], rdi
mov qword [r8 + 8], rsi
mov qword [r8 + 0x10], r11
mov word [r8 + 0x1c], r10w
mov dword [r8 + 0x18], r9d
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rbp + 0x1b0], rdx
mov qword [rbp + 0x1b8], rax
lea rdx, [rbp + 0x1b0]
sub rsp, 0x20
call fcn.14005f2b0
mov rcx, qword [rbp + 0x1a0]
mov rax, qword [rbp + 0x60]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0xa8], rax
jne 0x14012fcd8
mov rax, qword [rbp + 0x60]
mov rcx, qword [rbp + 0x168]
mov rdx, qword [rbp + 0x68]
mov qword [rcx], rdx
cmp rax, 0
je 0x14012fa31
mov rcx, qword [rbp + 0x60]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14012fa31
mov eax, dword [0x1401f9bf8]
xor eax, 0x11f39c44
mov ecx, dword [0x1401f9bfc]
mov edx, 0xafd801e6
xor edx, 0x36494b15
xor ecx, edx
mov edx, 0x4e866448
xor edx, 0xb1799bb7
xor ecx, edx
add eax, ecx
add eax, 1
mov ecx, 0xa6f9286a
xor edx, edx
div ecx
mov edx, eax
and edx, 0xce260a0a
mov ecx, 0x3171483d
xor ecx, 0x3171483f
imul ecx, edx
mov edx, 0x17d5167e
xor edx, 0xd9f31c74
add eax, edx
sub eax, ecx
mov ecx, 0xb8d5a79e
xor ecx, 0xceffed8e
mov edx, 0x8e1c11b5
xor edx, 0x71e3ee4a
xor ecx, edx
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
cmp eax, 0xe19a154c
ja 0x140130121
mov rcx, qword [rbp + 0x60]
mov eax, dword [0x1401f9c00]
mov r8d, dword [0x1401f9c04]
mov edx, 0x4c819963
xor edx, 0xc9ad8a1a
xor r8d, edx
mov edx, eax
and edx, r8d
shl edx, 1
xor eax, r8d
add eax, edx
mov r8d, 0xfcd4b538
xor r8d, 0x5c5bf9a7
xor edx, edx
div r8d
mov edx, eax
mov eax, edx
and eax, 0xf5aa2e9e
or edx, 0xf5aa2e9e
add eax, edx
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0xa2cd15ef
xor r8d, 0xf40fd92c
and edx, r8d
mov r8d, 0x2027bb29
xor r8d, 0x76e577ea
mov r9d, 0x3870c0b8
xor r9d, 0xc78f3f47
xor r8d, r9d
and eax, r8d
sub eax, edx
mov dword [rbp - 0x40], eax
mov eax, 0x1490dd28
xor eax, 0x2d96561a
mov dword [rbp - 0x44], eax
sub rsp, 0x20
call fcn.140011305
mov ecx, dword [rbp - 0x44]
mov eax, dword [rbp - 0x40]
add rsp, 0x20
cmp eax, ecx
je 0x140130121
jmp 0x14012fa31
mov r11d, dword [0x1401f9c08]
mov eax, 0x6959bec9
xor eax, 0x5bba0b6b
xor r11d, eax
or r11d, dword [0x1401f9c0c]
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x7228d924
mov edx, 0xffffffff
xor edx, 0xc3850a57
mov eax, ecx
and eax, 0xc3850a57
and r11d, edx
mov r10d, 0x8553936d
xor r10d, 0x46d6993a
mov r9d, r8d
and r9d, r10d
mov r10d, edx
and r10d, 0x7228d924
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xc3850a57
and ecx, edx
or eax, ecx
mov ecx, 0xcf4e2f2d
xor ecx, 0xd4f627fa
xor eax, ecx
mov ecx, 0x6281ec32
xor ecx, 0x6281ec32
mov edx, 0xac88162
xor edx, 0x7413eb51
sub ecx, edx
add eax, ecx
cmp eax, 0xde15081
jbe 0x14013012a
mov rcx, qword [rbp + 0x130]
mov edx, dword [0x1401f9c10]
xor edx, dword [0x1401f9c14]
mov eax, edx
xor eax, 0x488d8f2f
xor eax, 0xffffffff
or edx, 0x488d8f2f
and edx, eax
mov r9d, 0xffffffff
xor r9d, 0xce12a356
mov r8d, edx
and r8d, r9d
mov eax, edx
or eax, r9d
xor eax, 0xffffffff
imul eax, r8d
mov r9d, 0x7d59d261
xor r9d, 0xb34b7137
mov r8d, edx
and r8d, r9d
mov r9d, 0xd6fff9f5
xor r9d, 0x18ed5aa3
or edx, r9d
imul edx, r8d
add edx, eax
mov eax, edx
and eax, 0x22a1d112
or edx, 0x22a1d112
add eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x45], cl
cmp eax, 0xddf538d6
ja 0x14012fadc
mov al, byte [rbp - 0x45]
test al, 1
jne 0x14012fbaf
jmp 0x14012fb7d
mov rcx, qword [rbp + 0x130]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14012fbaf
mov rcx, qword [rbp + 0x130]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov eax, dword [0x1401f9c18]
and eax, dword [0x1401f9c1c]
or eax, 0x1ae91de8
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa67f286d
mov edx, 0xffffffff
xor edx, 0xa67f286d
and eax, edx
sub eax, ecx
mov ecx, 0xba1aca2
xor ecx, 0x33219eb8
and eax, ecx
mov ecx, 0x2aacf191
xor ecx, 0xc6d9523f
cmp eax, ecx
jae 0x140130133
mov rdx, qword [rbp + 0x140]
mov ecx, dword [0x1401f9c20]
mov eax, 0x9aa07dc9
xor eax, 0x74b63476
xor ecx, eax
mov r8d, dword [0x1401f9c24]
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
xor eax, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
or eax, r9d
and r8d, r8d
mov r9d, 0x89033532
xor r9d, 0x76fccacd
xor r8d, r9d
mov r9d, 0x416e5174
xor r9d, 0xbe91ae8b
xor ecx, r9d
xor r8d, 0xffffffff
or ecx, r8d
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
or eax, 0x7e6f8f32
add eax, 0x26eedd7
imul eax, eax, 0x7c52c7a4
mov ecx, 0xf54ed947
xor ecx, 0xd5fadedd
mov rdx, qword [rdx]
mov qword [rbp - 0x50], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 0x46], dl
cmp eax, ecx
je 0x140130133
mov al, byte [rbp - 0x46]
test al, 1
jne 0x14012ff32
jmp 0x14012fca4
mov rax, qword [rbp - 0x50]
mov rcx, qword [rax]
movabs rdx, 0x4a7dda6e1371cb59
movabs r8, 0xa7dda6e1371cb59
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp - 0x58], rax
je 0x14012ff21
jmp 0x14012ff32
mov rax, qword [rbp + 0xa8]
mov qword [rbp - 0x60], rax
mov ecx, dword [0x1401f9c28]
mov edx, dword [str.UpDi]
xor edx, 0x14248ee
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
xor eax, 0xa0cc4a07
and eax, 0x7526d8d3
mov ecx, 0xf57dc545
xor ecx, 0x5148ef9b
and eax, ecx
cmp eax, 0xb0ca0003
je 0x14013013c
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x1401f9c30]
mov r8d, dword [0x1401f9c34]
mov edx, eax
and edx, r8d
shl edx, 1
add eax, r8d
sub eax, edx
mov edx, 0x7c02cd1f
xor edx, 0x74d33def
add eax, edx
xor eax, 0x2e08beb7
mov r8d, 0x23335527
xor edx, edx
div r8d
cmp rcx, 0
sete cl
mov byte [rbp - 0x61], cl
cmp eax, 0xfe09cdce
je 0x14012fd1f
mov al, byte [rbp - 0x61]
test al, 1
jne 0x14012fdc1
jmp 0x14012fd7f
mov rcx, qword [rbp - 0x60]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x56d7819f96efa6b4
movabs rdx, 0x56d7819f96efa6b4
xor rcx, rdx
cmp rax, rcx
jne 0x14012fdc1
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov ecx, dword [0x1401f9c38]
add ecx, dword [0x1401f9c3c]
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xd152f39f
mov edx, 0xffffffff
xor edx, 0xd152f39f
and ecx, edx
or eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xcd70f035
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0x1a40d643
xor r8d, 0xd7302676
mov edx, eax
and edx, r8d
or eax, 0xcd70f035
imul eax, edx
add eax, ecx
mov ecx, 0x5e8ad871
xor ecx, 0x74b413d3
xor edx, edx
div ecx
mov ecx, 0x66e65a6d
xor ecx, 0x289f7a76
cmp eax, ecx
jae 0x140130145
mov rcx, qword [rbp + 0x130]
mov eax, dword [0x1401f9c40]
mov edx, dword [0x1401f9c44]
xor edx, 0xf56dd31f
imul eax, edx
mov r8d, 0xffffffff
xor r8d, 0xc7c218fa
mov edx, eax
and edx, r8d
mov r8d, eax
xor r8d, 0xc7c218fa
add eax, r8d
sub eax, edx
mov r8d, 0xa8d7a542
xor edx, edx
div r8d
xor edx, edx
sub edx, 0x8819574b
add eax, edx
cmp rcx, 0
sete cl
mov byte [rbp - 0x62], cl
cmp eax, 0xf3852af8
ja 0x140130145
mov al, byte [rbp - 0x62]
test al, 1
jne 0x14012feea
jmp 0x14012feb8
mov rcx, qword [rbp + 0x130]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14012feea
mov rcx, qword [rbp + 0x130]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov rax, qword [rbp + 0x140]
mov rax, qword [rax]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x14012ff32
mov rax, qword [rbp - 0x70]
movabs rcx, 0x4000000000000000
and rcx, qword [rax]
cmp rcx, 0
mov qword [rbp - 0x58], rax
jne 0x14012ff32
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.140011305
add rsp, 0x20
mov eax, dword [0x1401f9c48]
mov ecx, dword [0x1401f9c4c]
xor ecx, 0x7a80deb8
mov r8d, 0x319d71d
xor r8d, 0xfce628e2
mov edx, eax
xor edx, r8d
mov r11d, ecx
and r11d, edx
xor ecx, 0xffffffff
and eax, ecx
or r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
and ecx, 0x9be51914
mov edx, 0xffffffff
xor edx, 0x9be51914
mov eax, r11d
and eax, edx
imul eax, ecx
mov edx, 0x38d80b66
xor edx, 0xa33d1272
mov ecx, r11d
and ecx, edx
mov edx, 0xf7a7c552
xor edx, 0x6c42dc46
or r11d, edx
imul r11d, ecx
add r11d, eax
mov eax, 0xd3ed3cc4
xor eax, 0x2c12c33b
mov ecx, r11d
xor ecx, eax
mov edx, 0xffffffff
xor edx, 0x43d787f3
mov r8d, 0xffffffff
xor r8d, 0x18ec403b
mov eax, ecx
and eax, 0x18ec403b
and r11d, r8d
mov r10d, 0xcda700b2
xor r10d, 0xd54b4089
mov r9d, edx
and r9d, r10d
mov r10d, r8d
and r10d, 0x43d787f3
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, edx
xor ecx, 0xffffffff
mov edx, 0xb7d46c0a
xor edx, 0xaf382c31
or edx, r8d
and ecx, edx
or eax, ecx
mov ecx, 0xecdeb1d2
xor ecx, 0x86ff72d6
xor edx, edx
div ecx
cmp eax, 0xdc26c0b9
jae 0x14013014e
mov rcx, qword [rbp + 0x168]
mov eax, dword [0x1401f9c50]
or al, 0
xor edx, edx
div dword [0x1401f9c54]
mov edx, eax
mov eax, 0xa0fe9d32
xor eax, 0x33971dc2
sub edx, eax
mov eax, 0xd223575e
xor eax, 0xbe2824d3
imul edx, eax
mov eax, edx
and eax, 0x4b8e67a2
mov r8d, 0x80f36c79
xor r8d, 0xcb7d0bdb
or edx, r8d
add eax, edx
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp eax, 0x617b739e
jae 0x14013014e
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x240]
pop rdi
pop rsi
pop rbp
ret
invalid
lodsb al, byte [rsi]
jl 0x14013003b
shr cl, cl
push rdx
invalid
ret 0x5b9f
sbb al, 0x48
mov ebx, 0xe114e9b8
invalid
fidivr dword [rdx + 0x50e9eeae]
jrcxz 0x1401300c5
invalid
call qword [rdi - 0x1683acf4]
xchg edi, eax
or al, 0x53
jl 0x1401300b5
mov esp, esp
invalid
invalid
outsd dx, dword [rsi]
rcl byte [rbx]
jmp 0x14012e996
movsb byte [rdi], byte [rsi]
and edx, esi
mov ecx, 0xffea30e9
call qword [rbx]
test byte [rax], dh
or ebp, ecx
out 0xeb, al
adc eax, dword [rax + rsi - 0x141916f5]
invalid
sub ah, byte [rcx + 0x24]
jmp 0x1401300e2
xchg ecx, eax
cld
adc eax, 0xffef78e9
inc dword [rdx - 0x160c1761]
and esi, edx
invalid
invalid
cmpsb byte [rsi], byte [rdi]
xor byte [rax], dl
mov edx, 0xfff48fe9
dec eax
out dx, al
add cl, byte [rcx + rbp*8]
xor dh, dh
invalid
enter 0x2ee, 0xc
jmp 0x14012f751
xchg esi, eax
sbb al, 0xe1
xchg esp, eax
jmp 0x14012f97b
mov esp, edx
sbb dword [rcx], ebx
jmp 0x14012fadc
sahf
sahf
wait
mov gs, ecx
mov esi, 0xbfffffa
lodsb al, byte [rsi]
mov ebp, 0xfbdae93d
or ebp, dword [rbp + rdi*4 - 0x42516c3]
invalid
invalid
sal dword cs:[rdi - 0x126168d], 0xff
jmp qword [rsi + 0xf]