Function at 0x140117300
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x1e0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x148], rdx
mov qword [rbp + 0x150], rcx
mov qword [rbp + 0x158], rcx
mov edx, dword [0x1401dc5c8]
mov eax, dword [0x1401dc5cc]
mov ecx, edx
xor ecx, eax
xor eax, 0xffffffff
and edx, eax
mov eax, 0x1cff9fc0
xor eax, 0x1cff9fc2
imul eax, edx
sub eax, ecx
or eax, 0xb0e39b43
or eax, 0xe079127a
or eax, 0x68f006c2
cmp eax, 0xec5078fe
jb 0x140118e79
mov ecx, dword [0x1401dc5d0]
mov eax, dword [0x1401dc5d4]
xor eax, 0x3f558c0d
mov edx, ecx
not edx
or edx, eax
mov eax, ecx
mov ecx, edx
lea eax, [rax + rcx - 0x28b47467]
or eax, 0x6c43ff79
add eax, 0x3363c7d
mov dword [rbp + 0x140], eax
mov eax, 0x10
mov qword [rbp + 0xf0], rax
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xf0]
mov rcx, rsp
mov qword [rbp + 0x110], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xf0]
mov rcx, rsp
mov qword [rbp + 0x108], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xf0]
mov rcx, rsp
mov qword [rbp + 0x118], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x120], rax
mov eax, 0x20
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xf0]
mov rcx, rsp
mov qword [rbp + 0xe8], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, qword [rbp + 0xf0]
mov rcx, rsp
mov qword [rbp + 0xf8], rcx
call fcn.1401d4340
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x100], rax
sub rsp, 0x20
call fcn.14011399d
mov rdx, qword [rbp + 0x108]
mov rcx, qword [rbp + 0x150]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x148]
mov qword [rbp + 0x138], r8
mov qword [rcx], 0
mov qword [rcx + 8], 0
mov rax, qword [rax]
mov r8, qword [rax + 8]
mov qword [rdx], r8
mov rax, qword [rax + 0x10]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001976a
mov r9, qword [rbp + 0x150]
mov r8, qword [rbp + 0x110]
mov rdx, qword [rbp + 0x118]
mov rcx, qword [rbp + 0x120]
mov rax, qword [rbp + 0x148]
add rsp, 0x20
mov r9, qword [r9]
mov qword [rbp + 0x128], r9
movabs r9, 0x4f31a64fb5134971
movabs r10, 0xd9e81fcad856df30
xor r9, r10
mov qword [r8], r9
movabs r8, 0x39d48b1bd6b09ab9
movabs r9, 0x39d48b1bd6b09ab9
xor r8, r9
mov qword [rdx], r8
mov r8, rdx
add r8, 8
mov qword [rbp + 0x130], r8
mov qword [rdx + 8], 0
mov qword [rcx], 0
mov rax, qword [rax]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14005a488
mov rcx, qword [rbp + 0x138]
add rsp, 0x20
mov eax, dword [rbp + 0x140]
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x147], cl
cmp eax, 0x591e9b5
jae 0x140117363
mov cl, byte [rbp + 0x147]
xor eax, eax
test cl, 1
mov qword [rbp + 0xe0], rax
jne 0x140117573
jmp 0x1401185e7
mov rax, qword [rbp + 0xe8]
mov rcx, qword [rbp + 0x148]
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rbp + 0xb0], rcx
mov rcx, rax
add rcx, 8
mov qword [rbp + 0xb8], rcx
mov rcx, rax
add rcx, 0x10
mov qword [rbp + 0xc0], rcx
add rax, 0x18
mov qword [rbp + 0xc8], rax
xor eax, eax
mov rcx, rax
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
mov rdx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xd8]
mov qword [rbp + 0xa0], rcx
mov qword [rbp + 0xa8], rax
cmp rcx, rdx
mov qword [rbp + 0xe0], rax
jge 0x1401185e7
mov eax, dword [0x1401dc5d8]
xor eax, 0x2fc58434
mov ecx, dword [0x1401dc5dc]
xor ecx, 0x40a43e04
imul eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x763ccf7a
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x763ccf7a
or eax, 0x763ccf7a
imul eax, edx
add eax, ecx
imul eax, eax, 0x89370e2f
mov ecx, 0xfc175642
xor ecx, 0x9d58227f
xor eax, ecx
cmp eax, 0xcd14d465
jbe 0x140118e82
mov r8, qword [rbp + 0xa0]
mov r9, qword [rbp + 0x148]
mov ecx, dword [0x1401dc5e0]
mov eax, dword [0x1401dc5e4]
add ecx, eax
mov eax, ecx
or eax, 0x70218001
not ecx
and ecx, 0x8880140e
and eax, 0x75218801
sub eax, ecx
mov ecx, 0xe2c8135d
imul rax, rcx
shr rax, 0x3e
mov ecx, 0xf17d5fba
test r8, r8
setns dl
mov r9, qword [r9]
mov r9, qword [r9]
mov qword [rbp + 0x88], r9
mov r9, qword [r9]
mov qword [rbp + 0x90], r9
sub r8, r9
setl r8b
and dl, r8b
mov byte [rbp + 0x9f], dl
cmp eax, ecx
jae 0x140117665
mov al, byte [rbp + 0x9f]
test al, 1
jne 0x140117723
jmp 0x1401176f1
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x90]
mov rax, rdx
and rax, 0xffffffffffffffff
shl rax, 1
xor rdx, 0xffffffffffffffff
add rdx, rax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x140118480
mov rax, qword [rbp + 0x138]
mov rdx, qword [rbp + 0xa0]
mov rcx, qword [rbp + 0x88]
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x78], rcx
shl rdx, 5
mov rcx, qword [rcx + rdx + 8]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x87], al
or al, cl
test al, 1
jne 0x140118511
mov r8, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x118]
mov rax, qword [rbp + 0x78]
add rax, 8
shl r8, 5
add rax, r8
add rax, 8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001976a
mov rcx, qword [rbp + 0x148]
mov rax, qword [rbp + 0xa0]
add rsp, 0x20
mov rcx, qword [rcx]
mov rcx, qword [rcx]
mov qword [rbp + 0x68], rcx
mov rcx, qword [rcx]
mov qword [rbp + 0x70], rcx
cmp rax, rcx
jl 0x1401177f2
mov rcx, qword [rbp + 0xa0]
mov rdx, qword [rbp + 0x70]
add rdx, 0xffffffffffffffff
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x140118480
mov rcx, qword [rbp + 0x120]
mov rdx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x68]
mov rax, qword [rax + 8]
add rax, 8
shl rdx, 5
add rax, rdx
add rax, 0x18
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140116d10
add rsp, 0x20
mov rax, qword [0x1401eb930]
mov rax, qword [rax]
mov qword [rbp + 0x60], rax
cmp rax, 0x80
jge 0x140117953
mov ecx, dword [0x1401dc5e8]
xor ecx, dword [0x1401dc5ec]
mov eax, 0x9338718
xor eax, 0x962a6c05
mov edx, 0xf800feb6
xor edx, 0x7ff0149
xor eax, edx
xor edx, edx
sub edx, 1
sub eax, edx
sub ecx, eax
mov eax, 0x405c2db3
xor eax, 0xc2cedffd
or ecx, eax
mov eax, ecx
or eax, eax
mov edx, 0xa455e281
xor edx, 0x5baa1d7e
xor eax, edx
mov edx, 0x19f76ad6
or edx, 0x19f76ad6
mov r8d, 0xc6672153
xor r8d, 0x3998deac
xor edx, r8d
mov r8d, 0xd88e155
xor r8d, 0xf2771eaa
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
or ecx, 0x19f76ad6
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x99269440
jbe 0x140118e8b
mov eax, dword [0x1401dc5f0]
mov ecx, dword [0x1401dc5f4]
xor ecx, 0xede5739f
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x60]
or eax, 0x4f0519c9
imul eax, eax, 0x16b815e8
sub eax, 0x8e669b31
mov dword [rbp + 0x5c], eax
movabs rax, 0x774159ca3fd16cb2
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xdf0a58dc25acd5f
movabs rcx, 0x7ab1fc47fd8ba1ed
xor rax, rcx
add rdx, rax
mov ecx, 0x7f
sub rsp, 0x20
call fcn.140013580
mov eax, dword [rbp + 0x5c]
add rsp, 0x20
cmp eax, 0x1fac9af2
jbe 0x1401178d6
jmp 0x140118480
mov rax, qword [rbp + 0x118]
mov rax, qword [rax]
mov qword [rbp + 0x50], rax
cmp rax, 1
jge 0x1401179a3
mov rdx, qword [rbp + 0x50]
movabs rax, 0xec5a34c29e8cadcb
add rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0xec5a34c29e8cadcb
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140013580
add rsp, 0x20
jmp 0x140118480
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0xe8]
mov rdx, qword [rbp + 0x130]
mov rdx, qword [rdx]
add rdx, 8
mov qword [rcx], rdx
movabs rcx, 0x838d557831cbeb75
add rax, rcx
add rax, 0xffffffff80000000
movabs rcx, 0x838d557831cbeb75
sub rax, rcx
movabs rcx, 0xc6e50ed3c772fb6d
movabs rdx, 0x391af12cc772fb6d
xor rcx, rdx
cmp rax, rcx
jae 0x140117a43
mov rcx, qword [rbp + 0x50]
movabs rdx, 0x374375716ff2d9a2
movabs rax, 0xc8bc8a8eeff2d9a2
xor rdx, rax
movabs r8, 0x6246f036d3c23dce
movabs rax, 0x6246f036ac3dc231
xor r8, rax
sub rsp, 0x20
call fcn.14000d167
add rsp, 0x20
jmp 0x140118480
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x110]
mov r8, qword [rbp + 0xb8]
mov r9, qword [rbp + 0x50]
mov dword [r8], r9d
mov qword [rcx], rdx
mov ecx, 0x7f785c2c
xor ecx, 0x7f785c24
mov dword [rax], ecx
mov rax, qword [0x1401eb930]
mov rcx, qword [rax + 8]
mov rax, qword [rcx + 0x23e0]
mov qword [rbp + 0x40], rax
mov rcx, qword [rcx + 0x23d8]
mov qword [rbp + 0x48], rcx
cmp rax, 0
je 0x140117abf
mov rax, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x40]
mov rcx, qword [rbp + 0xe8]
sub rsp, 0x20
call rax
add rsp, 0x20
jmp 0x140117ad4
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0xe8]
sub rsp, 0x20
call rax
add rsp, 0x20
mov rax, qword [rbp + 0x138]
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov edx, 0x2014b50
sub rsp, 0x20
call fcn.140113dc9
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov eax, dword [0x1401dc5f8]
mov r8d, dword [0x1401dc5fc]
xor r8d, 0x8f02dfc1
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0xc625327b
xor ecx, 0x39dacd84
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, 0xda7cc363
xor edx, edx
div ecx
mov ecx, 0x36ca3b14
xor edx, edx
div ecx
mov ecx, 0xcf60284d
xor ecx, 0x9da3e9f6
xor eax, ecx
cmp eax, 0xa90c4652
je 0x140118e94
mov rcx, qword [rbp + 0x150]
mov eax, dword [0x1401dc600]
mov r9d, dword [0x1401dc604]
mov r10d, r9d
xor r10d, 0xffffffff
mov r8d, eax
and r8d, r10d
mov edx, eax
or edx, r10d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
mov edx, 0x50fb1b86
xor edx, 0xf289a932
and eax, edx
add eax, 0xf8efba50
mov edx, 0x1a9a43c4
xor edx, 0xe565bc3b
mov r8d, eax
xor r8d, edx
and r8d, 0x781d2547
mov r9d, 0xffffffff
xor r9d, 0x781d2547
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x59ca26e8
xor r9d, 0x21d703af
mov r8d, eax
and r8d, r9d
or eax, 0x781d2547
imul eax, r8d
add eax, edx
mov dword [rbp + 0x38], eax
mov edx, 0x2d
sub rsp, 0x20
call fcn.140114308
mov rcx, qword [rbp + 0x138]
mov eax, dword [rbp + 0x38]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x3f], cl
cmp eax, 0xa43c42fd
ja 0x140118e94
mov al, byte [rbp + 0x3f]
test al, 1
jne 0x140117c58
jmp 0x140118480
mov rcx, qword [rbp + 0x150]
mov edx, 0x2d
sub rsp, 0x20
call fcn.140114308
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xa5
xor cl, 0xa5
cmp al, cl
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov dx, 0x2688
xor dx, 0x2e88
sub rsp, 0x20
call fcn.140114430
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x120]
mov rax, qword [rax]
mov qword [rbp + 0x30], rax
mov dx, word [rax + 0x1c]
sub rsp, 0x20
call fcn.140114430
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov eax, dword [0x1401dc608]
mov ecx, dword [0x1401dc60c]
sub eax, 0x5fc318ae
sub eax, ecx
mov ecx, 0x4fc6af7d
xor ecx, 0x1005b7d3
add eax, ecx
add eax, 0xf573b8d1
sub eax, 0x23b8d2e8
mov ecx, 0x98142810
xor ecx, 0x3de6ee58
xor edx, edx
div ecx
cmp eax, 0xb69b67ea
je 0x140118e9d
mov rcx, qword [rbp + 0x150]
mov eax, dword [0x1401dc610]
mov edx, dword [0x1401dc614]
add eax, 0x5a991593
add eax, edx
sub eax, 0x5a991593
and eax, 0x6fe87947
mov r9d, 0xffffffff
xor r9d, 0x99f08c
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
mov r9d, 0xd9ac23c4
xor r9d, 0x2653dc3b
xor edx, r9d
imul edx, r8d
mov r9d, 0x5abbcd2c
xor r9d, 0x5a223da0
mov r8d, eax
and r8d, r9d
or eax, 0x99f08c
imul eax, r8d
add eax, edx
mov r8d, 0x685d0986
xor r8d, 0x83450d40
mov edx, eax
xor edx, r8d
mov r8d, 0x6ad004c9
xor r8d, 0x81c8000f
mov r9d, 0x7cc2cc90
xor r9d, 0x833d336f
xor r8d, r9d
and eax, r8d
shl eax, 1
sub eax, edx
mov dword [rbp + 0x28], eax
mov dx, word [0x1401fdaa0]
sub rsp, 0x20
call fcn.140114430
mov rcx, qword [rbp + 0x138]
mov eax, dword [rbp + 0x28]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0xf79290ca
ja 0x140118e9d
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x140117e18
jmp 0x140118480
mov rcx, qword [rbp + 0x150]
mov dx, word [0x1401fdaa2]
sub rsp, 0x20
call fcn.140114430
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x30]
mov edx, dword [rax + 0x18]
sub rsp, 0x20
call fcn.140113dc9
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.140113dc9
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xd2
xor cl, 0xd2
cmp al, cl
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.140113dc9
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x118]
mov rax, qword [rax]
mov dx, ax
sub rsp, 0x20
call fcn.140114430
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov edx, 0x1c
sub rsp, 0x20
call fcn.140114308
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140114308
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
movabs rdx, 0x57823ee3ab0f467c
movabs rax, 0x57823ee3ab0f467c
xor rdx, rax
sub rsp, 0x20
call fcn.140114308
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140114308
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
movabs rdx, 0xa55c1dad36cd3bf4
movabs rax, 0xa55c1dad36cd3bf4
xor rdx, rax
sub rsp, 0x20
call fcn.140116fc0
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x8a
xor cl, 0x8a
cmp al, cl
jne 0x140118480
mov eax, dword [0x1401dc618]
mov edx, dword [0x1401dc61c]
mov ecx, eax
xor ecx, edx
mov r8d, 0x38221d5d
xor r8d, 0xc7dde2a2
xor ecx, r8d
or eax, edx
and eax, ecx
mov ecx, 0xcef86fe4
xor ecx, 0xeb051c1b
add eax, ecx
mov ecx, 0x30915162
xor edx, edx
div ecx
sub eax, 0x51843efb
mov ecx, 0x4b16a201
xor ecx, 0x75c3d85c
cmp eax, ecx
jb 0x140118ea6
mov rcx, qword [rbp + 0x150]
mov edx, dword [0x1401dc620]
xor edx, 0x550058b9
or edx, dword [0x1401dc624]
mov eax, edx
and eax, 0x6da4f03
mov r8d, 0x146af2d
xor r8d, 0xfeb950d2
xor eax, r8d
mov r8d, 0x11d14dd4
xor r8d, 0xee2eb22b
xor edx, r8d
mov r8d, 0xc0fad899
xor r8d, 0xc620979a
mov r9d, 0x6d938837
xor r9d, 0x926c77c8
xor r8d, r9d
or edx, r8d
mov r8d, 0xfd6c9bcd
xor r8d, 0x2936432
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
mov r8d, 0x2d438bbf
xor r8d, 0xe2a28698
xor edx, edx
div r8d
mov r8d, 0xbcb09a1c
xor r8d, 0xbfb2c540
xor edx, edx
div r8d
mov dword [rbp + 0x20], eax
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.140113dc9
mov rcx, qword [rbp + 0x138]
mov eax, dword [rbp + 0x20]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x3a
xor dl, 0x3a
cmp cl, dl
sete cl
mov byte [rbp + 0x27], cl
cmp eax, 0x3deb54fc
jae 0x140118ea6
mov al, byte [rbp + 0x27]
test al, 1
jne 0x140118120
jmp 0x140118480
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x118]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.14001c160
mov rax, qword [rbp + 0x118]
mov rdx, qword [rbp + 0x100]
mov rcx, qword [rbp + 0x150]
add rsp, 0x20
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.1401167f0
mov rcx, qword [rbp + 0x150]
add rsp, 0x20
mov edx, 1
sub rsp, 0x20
call fcn.140114430
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov eax, dword [0x1401dc628]
xor eax, dword [0x1401dc62c]
or eax, 0x2f77356f
mov ecx, 0x50f56e28
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x32a888c
mov r8d, 0xffffffff
xor r8d, 0x32a888c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x32a888c
or eax, 0x32a888c
imul eax, edx
add eax, ecx
cmp eax, 0x91fc3d6b
je 0x140118eaf
mov rcx, qword [rbp + 0x150]
mov edx, dword [0x1401dc630]
mov r8d, dword [0x1401dc634]
xor r8d, 0x868b305d
mov eax, edx
and eax, r8d
or edx, r8d
add eax, edx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x3dbf12a7
and edx, 0x3dbf12a7
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, 0x4319e14a
add eax, edx
mov edx, 0x5a083499
xor edx, 0xd827f329
xor eax, edx
mov dword [rbp + 0x18], eax
mov edx, 0x18
sub rsp, 0x20
call fcn.140114308
mov rcx, qword [rbp + 0x138]
mov eax, dword [rbp + 0x18]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x1f], cl
cmp eax, 0x43367cd4
je 0x140118eaf
mov al, byte [rbp + 0x1f]
test al, 1
jne 0x14011828a
jmp 0x140118480
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rax + 0x10]
sub rsp, 0x20
call fcn.1401146c1
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x18
xor cl, 0x18
cmp al, cl
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rax + 8]
sub rsp, 0x20
call fcn.1401146c1
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rcx, qword [rbp + 0x150]
mov rax, qword [rbp + 0x30]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.1401146c1
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118480
mov rax, qword [rbp + 0x118]
mov rax, qword [rax]
mov qword [rbp + 0x10], rax
cmp rax, 1
jge 0x14011842d
mov eax, dword [0x1401dc638]
mov ecx, dword [0x1401dc63c]
mov edx, 0x55e420e0
xor edx, 0x7dee9488
xor ecx, edx
imul eax, ecx
mov ecx, 0xce98905
xor ecx, 0x4dd71289
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xc9c3a2d1
mov edx, 0xffffffff
xor edx, 0xc9c3a2d1
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
or eax, 0x43363893
xor eax, 0xffffffff
mov edx, 0xf8576e6d
xor edx, 0xbb6156fe
or ecx, edx
mov edx, 0x396da21
xor edx, 0xfc6925de
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x682d4012
xor ecx, 0x524a0f6
cmp eax, ecx
jb 0x140118eb8
mov eax, dword [0x1401dc640]
xor eax, 0xf582653c
mov ecx, dword [0x1401dc644]
sub eax, 0xed115cd3
sub eax, ecx
add eax, 0xed115cd3
mov ecx, 0x4c51ee42
xor ecx, 0x468bd396
sub eax, ecx
mov ecx, 0xfc680acf
xor ecx, 0xed993dc8
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x10]
sub eax, 0x4927471f
mov dword [rbp + 0xc], eax
mov rax, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor ecx, ecx
sub rcx, 1
sub rax, rcx
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140013580
mov eax, dword [rbp + 0xc]
add rsp, 0x20
cmp eax, 0x1fb7d3fa
jb 0x140118eb8
jmp 0x140118480
mov rax, qword [rbp + 0x130]
mov rax, qword [rax]
add rax, 8
mov qword [rbp - 8], rax
xor eax, eax
mov qword [rbp], rax
mov rcx, qword [rbp + 0x10]
mov rax, qword [rbp]
mov qword [rbp - 0x10], rax
cmp rax, rcx
jne 0x140118467
mov rax, qword [rbp + 0x30]
mov qword [rbp - 0x18], rax
jmp 0x140118535
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 8]
mov byte [rcx + rax], 0x7f
add rax, 1
mov qword [rbp], rax
jmp 0x140118445
mov eax, dword [0x1401dc648]
and eax, dword [0x1401dc64c]
sub eax, 0x97a65fd5
add eax, 0xc6fc5902
and eax, 0x11a0272b
cmp eax, 0xbb2adb1
je 0x140118ec1
mov rcx, qword [rbp + 0x120]
mov eax, dword [0x1401dc650]
mov r8d, dword [0x1401dc654]
xor edx, edx
sub edx, r8d
add eax, edx
sub eax, 0xa738a942
sub eax, 0xe8a6e5e3
add eax, 0xa738a942
xor eax, 0x2cae3d9f
mov edx, 0xffffffff
xor edx, 0xfa47ede6
add eax, edx
mov edx, 0x2f7ac8da
xor edx, 0x2f7ac8db
add eax, edx
mov rcx, qword [rcx]
mov qword [rbp - 0x20], rcx
cmp eax, 0x4173c571
jbe 0x1401184a6
mov rax, qword [rbp - 0x20]
mov qword [rbp + 0xe0], rax
jmp 0x1401185e7
mov rax, qword [rbp + 0xa8]
mov cl, byte [rbp + 0x87]
test cl, 1
mov rcx, rax
mov qword [rbp - 0x18], rcx
mov qword [rbp + 0xe0], rax
jne 0x1401185e7
mov r10, qword [rbp + 0xa0]
mov rcx, qword [rbp - 0x18]
mov qword [rbp - 0x28], rcx
movabs rdx, 0x8acb68e53fab323a
movabs rax, 0x8acb68e53fab323b
xor rdx, rax
mov rax, r10
add rax, rdx
mov r8, r10
xor r8, 0xffffffffffffffff
movabs rdx, 0x28d3b66c25616063
and r8, rdx
mov r9, 0xffffffffffffffff
movabs rdx, 0x28d3b66c25616063
xor r9, rdx
and r10, r9
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r11, 0x28d3b66c25616063
and rdx, r11
and r9, 0xffffffffffffffff
or r8, r10
or rdx, r9
xor r8, rdx
mov rdx, rax
and rdx, r8
cmp rdx, 0
mov qword [rbp + 0xd0], rcx
mov qword [rbp + 0xd8], rax
jge 0x1401175cb
sub rsp, 0x20
call fcn.1400077a3
mov rax, qword [rbp - 0x28]
add rsp, 0x20
mov qword [rbp + 0xe0], rax
mov rax, qword [rbp + 0xe0]
mov qword [rbp - 0x30], rax
mov eax, dword [0x1401dc658]
xor eax, 0x51f98950
mov ecx, dword [0x1401dc65c]
xor ecx, 0xdeb6d6d4
or eax, ecx
or eax, 0x11f02928
mov ecx, eax
and ecx, 0x65f4734c
shl ecx, 1
add eax, 0x65f4734c
sub eax, ecx
xor eax, 0xac334e65
cmp eax, 0x5540850d
ja 0x140118eca
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x1401dc660]
xor edx, edx
div dword [0x1401dc664]
mov edx, 0x8c8a19e
xor edx, 0x4d946ae1
sub eax, edx
sub eax, 0xc3e1fa9b
add eax, 0x455ccb7f
mov edx, eax
and edx, 0xc18e4424
shl edx, 1
mov r8d, 0x29f96658
xor r8d, 0xe877227c
xor eax, r8d
add eax, edx
mov edx, 0x17f0c863
xor edx, 0xd206159b
and eax, edx
mov dword [rbp - 0x44], eax
sub rsp, 0x20
call fcn.1401172c2
mov rcx, qword [rbp + 0x130]
mov eax, dword [rbp - 0x44]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
cmp rcx, 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0xb7cb824a
je 0x140118eca
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14011874a
jmp 0x1401186cb
mov rax, qword [rbp - 0x40]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0xe7e53d4b68fac21e
movabs rdx, 0xa7e53d4b68fac21e
xor rcx, rdx
movabs rdx, 0x5924c3b78e237bb5
movabs r8, 0x1924c3b78e237bb5
xor rdx, r8
or rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0x1e202adbc75cdac2
movabs r8, 0xe1dfd52438a3253d
xor rdx, r8
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
cmp rax, 0
jne 0x14011874a
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.14000eb2e
add rsp, 0x20
mov ecx, dword [0x1401dc668]
mov eax, 0x723600b2
xor eax, 0x978aa8b6
xor ecx, eax
mov edx, dword [0x1401dc66c]
mov eax, 0x71efbc6a
xor eax, 0xb71e1530
xor edx, eax
mov eax, edx
and eax, ecx
xor eax, 0xffffffff
add ecx, edx
add ecx, 1
add ecx, eax
mov r8d, 0xffffffff
xor r8d, 0xbcdd6eba
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov r8d, 0xc9002aa2
xor r8d, 0x75dd4418
mov edx, ecx
and edx, r8d
mov r8d, 0x61247992
xor r8d, 0xddf91728
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x4f917cf8
xor edx, 0x9aa9cfc5
mov r8d, 0x4ae66c6b
xor r8d, 0x9fdedf56
or edx, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, 0x18c8f722
xor edx, 0xe73708dd
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xd538b33d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
xor eax, 0x658a58bc
cmp eax, 0x5748625c
jb 0x140118ed3
mov rdx, qword [rbp + 0x138]
mov eax, dword [0x1401dc670]
imul eax, dword [0x1401dc674]
mov ecx, 0x2f528350
xor ecx, 0x42e520b4
xor eax, ecx
mov ecx, 0x6bc54a4b
xor ecx, 0xd25ec420
imul eax, ecx
and eax, 0xdb66bafe
mov ecx, 0xca572d6e
xor ecx, 0xc1e32a71
mov dl, byte [rdx]
mov r8b, 0xa5
xor r8b, 0xa5
cmp dl, r8b
sete dl
mov byte [rbp - 0x45], dl
cmp eax, ecx
jbe 0x14011881e
mov al, byte [rbp - 0x45]
test al, 1
jne 0x140118887
jmp 0x140118e69
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
mov qword [rbp - 0x50], rax
mov edx, 0x6064b50
sub rsp, 0x20
call fcn.140113dc9
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
mov edx, 0x2c
sub rsp, 0x20
call fcn.1401146c1
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xee
xor cl, 0xee
cmp al, cl
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
mov edx, 0x2d
sub rsp, 0x20
call fcn.140114308
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xf3
xor cl, 0xf3
cmp al, cl
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
movabs rdx, 0x54a525ebf25c1931
movabs rax, 0x54a525ebf25c191c
xor rdx, rax
sub rsp, 0x20
call fcn.140114308
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x94
xor cl, 0x94
cmp al, cl
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140116fc0
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x4f
xor cl, 0x4f
cmp al, cl
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140116fc0
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x5d
xor cl, 0x5d
cmp al, cl
jne 0x140118e69
mov rax, qword [rbp + 0x148]
mov rax, qword [rax]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14005a488
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x140118e69
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x150]
sub rsp, 0x20
call fcn.1401146c1
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x71
xor cl, 0x71
cmp al, cl
jne 0x140118e69
mov rax, qword [rbp + 0x148]
mov rax, qword [rax]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.14005a488
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x138]
mov qword [rbp - 0x60], rcx
mov al, byte [rax]
mov cl, 0x71
xor cl, 0x71
cmp al, cl
jne 0x140118e69
mov rdx, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x150]
sub rsp, 0x20
call fcn.1401146c1
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x60
xor cl, 0x60
cmp al, cl
jne 0x140118e69
mov r9, qword [rbp + 0x128]
mov rcx, qword [rbp - 0x50]
mov rdx, rcx
sub rdx, r9
mov qword [rbp - 0x68], rdx
mov rax, rdx
xor rax, rcx
cmp rax, 0
setl al
mov rcx, rdx
and rcx, rcx
xor rcx, 0xffffffffffffffff
and rcx, r9
xor rcx, 0xffffffffffffffff
movabs r10, 0x8559979df01143d7
movabs r8, 0x7aa668620feebc28
xor r10, r8
mov r8, r9
xor r8, r10
xor r9, 0xffffffffffffffff
or r8, r9
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
xor rcx, 0xffffffffffffffff
cmp rcx, 0xffffffffffffffff
setg cl
or al, al
xor al, 0xff
or cl, cl
xor cl, 0xff
xor al, 0xff
xor cl, 0xff
and al, cl
test al, 1
jne 0x140118aff
jmp 0x140118b11
sub rsp, 0x20
call fcn.1400077a3
add rsp, 0x20
jmp 0x140118e69
mov eax, dword [0x1401dc678]
mov edx, dword [0x1401dc67c]
mov ecx, 0x64a85180
xor ecx, 0x9b57ae7f
xor eax, ecx
mov ecx, 0x5db9684
xor ecx, 0xfa24697b
xor edx, ecx
mov ecx, 0xffffffff
xor ecx, 0xd6a8451c
or eax, edx
or ecx, 0xd6a8451c
xor eax, 0xffffffff
and eax, ecx
add eax, 0x5b5615d4
mov ecx, 0x1d0f83be
xor ecx, 0x54a8e646
imul eax, ecx
add eax, 0x2e3d641a
cmp eax, 0x7d245842
jbe 0x140118edc
mov rdx, qword [rbp - 0x68]
mov rcx, qword [rbp + 0x150]
mov eax, dword [0x1401dc680]
mov r9d, dword [0x1401dc684]
mov r8d, eax
and r8d, r9d
or eax, r9d
add r8d, eax
mov eax, 0xb6da5471
xor eax, 0xb6da5471
sub eax, r8d
xor r8d, r8d
sub r8d, 0x8a9b67c6
add eax, r8d
xor r8d, r8d
sub r8d, eax
mov eax, r8d
xor eax, 0xffffffff
xor r8d, 0xffffffff
and eax, r8d
mov r8d, 0x31674f7e
or r8d, 0x31674f7e
xor r8d, 0xffffffff
or eax, r8d
mov r8d, 0x6498a59e
xor r8d, 0x9b675a61
xor eax, r8d
mov r8d, 0x659d15a7
xor r8d, 0x659d15a7
mov r9d, 0x4f3b33f
xor r9d, 0x1e0726a9
sub r8d, r9d
add eax, r8d
mov dword [rbp - 0x70], eax
mov eax, 0x69607d6a
xor eax, 0xfc4abfca
mov dword [rbp - 0x74], eax
sub rsp, 0x20
call fcn.1401146c1
mov rdx, qword [rbp + 0x138]
mov ecx, dword [rbp - 0x74]
mov eax, dword [rbp - 0x70]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xd5
xor r8b, 0xd5
cmp dl, r8b
sete dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
jae 0x140118edc
mov al, byte [rbp - 0x69]
test al, 1
jne 0x140118c5b
jmp 0x140118e69
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rbp + 0x150]
sub rsp, 0x20
call fcn.1401146c1
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
mov edx, 0x7064b50
sub rsp, 0x20
call fcn.140113dc9
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140116fc0
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp + 0x150]
sub rsp, 0x20
call fcn.1401146c1
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
mov edx, 1
sub rsp, 0x20
call fcn.140116fc0
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x5e
xor cl, 0x5e
cmp al, cl
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
mov edx, 0x6054b50
sub rsp, 0x20
call fcn.140113dc9
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140114308
mov rax, qword [rbp + 0x138]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x68
xor cl, 0x68
cmp al, cl
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140114308
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
mov edx, 0xffff
sub rsp, 0x20
call fcn.140114430
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
mov edx, 0xffff
sub rsp, 0x20
call fcn.140114430
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.140113dc9
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
test dword [rcx], eax
add byte [rax], al
mov rcx, qword [rbp + 0x150]
mov edx, 0xffffffff
sub rsp, 0x20
call fcn.140113dc9
mov rax, qword [rbp + 0x138]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140118e69
mov rcx, qword [rbp + 0x150]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140114308
add rsp, 0x20
mov rax, qword [rbp + 0x158]
lea rsp, [rbp + 0x160]
pop rbp
ret
xor al, 0x9f
test dword [rcx], esp
jmp 0x140117363
sbb al, 0x7f
or cl, ch
invalid
loop 0x140118e14
jne 0x140118e23
jmp 0x1401178d6
mov ch, 0x72
mov byte [rdx], ch
jmp 0x140117b7b
invalid
invalid
adc esp, dword [rbp + 0x36e9f670]
invalid
imul eax, dword [rdx + rbx], 0x29
jmp 0x1401183ad
xchg cl, ch
push rsp
jmp 0x1401184a6
call [rcx]
test eax, 0xf75fe9c2
invalid
xlatb
sal dword [rcx - 0x6bd16d5], cl
invalid
sbb dh, al
sbb byte [rsi - 0x17], ah
invalid