Function at 0x14015b580
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x278
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xb8], rcx
mov eax, 0x10
mov qword [rbp + 0xe0], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xc0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xc8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xd0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xd8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xe8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf0], rax
sub rsp, 0x20
call fcn.140193b2f
add rsp, 0x20
add rax, 0x50
mov qword [rbp + 0xf8], rax
mov rax, qword [0x1402cddf8]
mov qword [rbp + 0x100], rax
mov al, byte [rax]
mov cl, 0x96
xor cl, 0x96
cmp al, cl
je 0x14015b6f8
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140259c58]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xacf3bfdbd94d97c0
movabs rdx, 0x530c40241669a028
xor rax, rdx
lea rdx, [0x140259c58]
lea r8, [0x140259c67]
lea r9, [0x140259c73]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140012522
add rsp, 0x30
jmp 0x14015d199
mov eax, dword [0x14024ad30]
xor eax, 0x24c62ecb
sub eax, dword [0x14024ad34]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xdd0ff1f6
mov r8d, 0xffffffff
xor r8d, 0xdd0ff1f6
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xdd0ff1f6
or eax, 0xdd0ff1f6
imul eax, edx
add eax, ecx
mov ecx, 0x8084ac8e
xor ecx, 0x4903fe63
xor eax, ecx
mov ecx, 0xed1b2d96
xor ecx, 0xd83eb9a1
sub eax, ecx
mov ecx, 0x972c4206
xor ecx, 0x39cd5a84
cmp eax, ecx
jae 0x14015d1a3
mov rcx, qword [rbp + 0x100]
mov eax, dword [0x14024ad38]
xor edx, edx
div dword [0x14024ad3c]
imul edx, eax, 0xac7ceea6
mov eax, 0xa134ea00
xor eax, 0x5ecb15ff
mov r8d, edx
xor r8d, eax
mov eax, 0xfabe9211
xor eax, 0x45bd4912
and eax, r8d
mov r8d, 0x3724f053
xor r8d, 0x88272b50
mov r9d, 0xa888b80e
xor r9d, 0x577747f1
xor r8d, r9d
and edx, r8d
or eax, edx
or eax, 0xd66e70ca
mov rdx, rcx
add rdx, 8
mov qword [rbp + 0xa8], rdx
mov rcx, qword [rcx + 8]
movabs rdx, 0xe5280ea20890f741
movabs r8, 0xe5280ea20890f741
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0xb7], cl
cmp eax, 0x70a44e0d
jbe 0x14015d1a3
mov al, byte [rbp + 0xb7]
test al, 1
jne 0x14015b8d3
jmp 0x14015b81a
mov rcx, qword [rbp + 0xa8]
sub rsp, 0x20
call fcn.140184601
add rsp, 0x20
mov rax, qword [0x1402cddf8]
mov qword [rbp + 0x98], rax
mov rax, qword [rax + 8]
mov qword [rbp + 0xa0], rax
cmp rax, 1
jge 0x14015b883
mov rcx, qword [rbp + 0xa0]
xor eax, eax
sub rax, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rax, rcx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x14015d199
mov rdx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x98]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x577b3736d12cbdfa
movabs rax, 0xce2ce76bb176c85e
xor r8, rax
sub rsp, 0x20
call fcn.14009b4b0
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xfe
xor cl, 0xfe
cmp al, cl
jne 0x14015d199
mov rcx, qword [rbp + 0xc8]
mov qword [rbp + 0x1e8], 0
mov rax, qword [0x140259d88]
mov qword [rcx], rax
mov rax, qword [0x140259d90]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400336f0
mov rcx, qword [rbp + 0xf8]
add rsp, 0x20
mov qword [rbp + 0x88], rax
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
jne 0x14015cfef
movabs rcx, 0xa580f516fe195657
movabs rax, 0xa580f516fe19565f
xor rcx, rax
movabs rdx, 0xa74a7c5e29cbbe8f
movabs rax, 0xa74a7c5e29cbbe8b
xor rdx, rax
sub rsp, 0x20
call fcn.1400129fd
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov rdx, rax
mov qword [rbp + 0x70], rdx
mov dword [rdx + 4], 0
sub rsp, 0x20
call fcn.14006d260
mov rcx, qword [rbp + 0xd0]
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x78], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x80], rcx
mov al, byte [rax]
mov cl, 0xb4
xor cl, 0xb4
cmp al, cl
jne 0x14015bd1d
mov rax, qword [rbp + 0x78]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14015b9f3
mov rcx, qword [rbp + 0x78]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x14015bd1d
mov eax, dword [0x14024ad40]
mov ecx, dword [0x14024ad44]
xor ecx, 0x9ad8a69a
xor edx, edx
div ecx
mov r8d, eax
sub r8d, 0xf16963b0
sub r8d, 0xdb617bca
mov eax, 0x3934e0bc
xor eax, 0xc85d830c
add r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0x72e715d9
xor eax, 0xae387223
and eax, ecx
mov edx, 0x8ad7e763
xor edx, 0x56088099
mov ecx, 0xd439e0aa
xor ecx, 0x2bc61f55
xor edx, ecx
and r8d, edx
mov ecx, 0x8807e27d
xor ecx, 0xcd543a6d
mov r9d, 0x5b7807a5
xor r9d, 0xa487f85a
xor ecx, r9d
and ecx, 0xdcdf67fa
and edx, 0x4553d810
or eax, r8d
or ecx, edx
xor eax, ecx
xor eax, 0x3c8c3636
cmp eax, 0x3d1bac3b
je 0x14015d1ac
mov rcx, qword [rbp + 0x78]
mov eax, dword [0x14024ad48]
mov r8d, dword [0x14024ad4c]
mov edx, r8d
and edx, eax
xor edx, 0xffffffff
add eax, r8d
add eax, 1
add eax, edx
add eax, 0x96031f17
mov r8d, 0x514b7e18
xor edx, edx
div r8d
xor edx, edx
sub edx, 0xaabaea55
sub eax, edx
movabs rdx, 0x239e5fb689a3226d
movabs r8, 0x239e5fb689a3226c
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp + 0x6f], cl
cmp eax, 0x9ed0d895
jbe 0x14015ba92
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x14015bb08
jmp 0x14015bca0
mov eax, dword [0x14024ad50]
mov ecx, 0x1388158a
xor ecx, 0x254a4c39
xor eax, ecx
add eax, dword [0x14024ad54]
xor eax, 0x144b230d
mov edx, 0x74520c41
xor edx, 0x8badf3be
mov ecx, eax
xor ecx, edx
mov edx, 0x95ccae0e
xor edx, 0x88a81a12
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x1d64b41c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x4f4cf8d5
xor r8d, 0x52284cc9
mov edx, eax
and edx, r8d
mov r8d, 0x6b1ddebe
xor r8d, 0x76796aa2
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x626cf8cd
mov r8d, 0xc34513b8
xor r8d, 0xa129eb75
mov ecx, 0xa9d22c0
xor ecx, 0xf562dd3f
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x626cf8cd
mov r8d, 0xbe15156c
xor r8d, 0xdc79eda1
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x56e95f0b
jb 0x14015d1b5
mov rdx, qword [rbp + 0x78]
mov eax, dword [0x14024ad58]
mov ecx, 0xb014cb0f
xor ecx, 0xc3adddef
xor eax, ecx
sub eax, dword [0x14024ad5c]
mov ecx, eax
xor ecx, 0xc1178f8f
mov r8d, 0xffffffff
xor r8d, 0xc1178f8f
and eax, r8d
shl eax, 1
sub eax, ecx
mov ecx, 0x70d51054
xor ecx, 0xa980be4e
and ecx, eax
xor ecx, 0xffffffff
add eax, 0xd955ae1a
mov r8d, 0x87ecb0c9
xor r8d, 0x87ecb0c8
add eax, r8d
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, 0xc3c2717d
xor r8d, 0x30b54507
and r8d, ecx
mov r9d, 0xffffffff
xor r9d, 0xf377347a
mov ecx, eax
and ecx, r9d
imul ecx, r8d
mov r8d, eax
and r8d, 0xf377347a
or eax, 0xf377347a
imul eax, r8d
add eax, ecx
mov dword [rbp + 0x68], eax
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
mov eax, dword [rbp + 0x68]
add rsp, 0x20
cmp eax, 0x4eb569c8
jb 0x14015d1b5
jmp 0x14015bd1d
mov rcx, qword [rbp + 0x88]
mov r11, qword [rbp + 0x80]
mov rax, qword [rbp + 0x78]
mov esi, eax
add r11, 8
mov rax, qword [0x14025a9c8]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x14025a9c8]
mov rax, qword [rax]
mov edx, 0xfffffffd
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.14009c5e0
add rsp, 0x50
mov rcx, qword [rbp + 0x70]
sub rsp, 0x20
call fcn.14008cad1
mov rax, qword [rbp + 0x80]
add rsp, 0x20
cmp rax, 0
je 0x14015bdf3
mov rax, qword [rbp + 0x80]
mov rax, qword [rax]
movabs rcx, 0x812b1ff8da125ad3
movabs rdx, 0x7ed4e00725eda52c
xor rcx, rdx
xor rax, rcx
mov rdx, 0xffffffffffffffff
movabs rcx, 0x4000000000000000
xor rdx, rcx
movabs rcx, 0x248f33042f2af4ea
movabs r8, 0x2f106f44fb57080a
xor rcx, r8
movabs r8, 0x9ef76e5fcb275924
movabs r9, 0x610891a034d8a6db
xor r8, r9
xor rcx, r8
or rax, rdx
movabs rdx, 0xb9f5c40d47dfce0
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xaee7d6c19caafd8a
movabs rdx, 0xaee7d6c19caafd8a
xor rcx, rdx
cmp rax, rcx
jne 0x14015bdf3
mov rcx, qword [rbp + 0x80]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rcx, qword [rbp + 0xf8]
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
jne 0x14015cfef
mov eax, dword [0x14024ad60]
xor eax, 0xeba5881e
xor edx, edx
div dword [0x14024ad64]
mov ecx, eax
mov eax, ecx
xor eax, 0x2a0287a
mov edx, 0xb6fae568
xor edx, 0xb45acd12
mov r8d, 0xc0dae09b
xor r8d, 0x3f251f64
xor edx, r8d
and ecx, edx
shl ecx, 1
sub ecx, eax
and ecx, 0x33cf8068
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x51903527
or eax, edx
and ecx, 0x51903527
mov edx, 0xc28acdbc
xor edx, 0x3d753243
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x933c9b32
ja 0x14015d1be
mov ecx, dword [0x14024ad68]
mov eax, dword [0x14024ad6c]
xor eax, 0xa71b3d73
xor ecx, eax
or ecx, 0x7ea5438d
mov eax, ecx
and eax, 0x1cba8bf5
mov edx, 0xde91dc03
xor edx, 0xc22b57f6
xor ecx, edx
or eax, ecx
and eax, 0x927f1886
mov dword [rbp + 0x60], eax
mov ecx, 0x58
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov qword [rbp + 0x58], rax
mov rcx, qword [0x140259d68]
mov qword [rax + 8], rcx
mov rcx, qword [0x140259d70]
mov qword [rax + 0x10], rcx
mov rcx, qword [0x140259d68]
mov qword [rax + 0x18], rcx
mov rcx, qword [0x140259d70]
mov qword [rax + 0x20], rcx
mov rcx, qword [0x140259d68]
mov qword [rax + 0x28], rcx
mov rcx, qword [0x140259d70]
mov qword [rax + 0x30], rcx
mov ecx, 0xb85
sub rsp, 0x20
call fcn.140065e7e
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0xf8]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x60]
mov dword [rdx + 0x38], r8d
mov cl, byte [rcx]
mov dl, 0x35
xor dl, 0x35
cmp cl, dl
sete cl
mov byte [rbp + 0x67], cl
cmp eax, 0xb9f28750
je 0x14015be88
mov dl, byte [rbp + 0x67]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rbp + 0x47], cl
mov rcx, rax
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
jne 0x14015bf80
jmp 0x14015c3c0
mov eax, dword [0x14024ad70]
mov ecx, dword [0x14024ad74]
xor ecx, 0xd96a6431
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, 0x1cb1deff
xor r8d, 0xe34e2100
mov edx, eax
xor edx, r8d
or ecx, edx
mov edx, 0xa9f30221
xor edx, 0x560cfdde
xor ecx, edx
mov edx, 0x60a2c5cb
xor edx, 0xfaccb55b
mov r8d, 0xeceb7380
xor r8d, 0x13148c7f
xor edx, r8d
or ecx, edx
mov edx, 0xffffffff
xor edx, 0x9a6e7090
mov r8d, 0xffffffff
xor r8d, 0x9a6e7090
or edx, r8d
mov r8d, 0x9d97a6eb
xor r8d, 0x62685914
xor eax, r8d
xor edx, 0xffffffff
or eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, 0x8241d436
xor eax, 0x74b959a4
imul ecx, eax
mov edx, 0x914c1943
xor edx, 0xf1681d3d
mov eax, 0x7eb07417
xor eax, 0x814f8be8
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
cmp eax, 0x918b1736
je 0x14015d1c7
mov eax, dword [0x14024ad78]
mov ecx, dword [0x14024ad7c]
xor ecx, 0x3f1605f7
xor eax, ecx
mov ecx, 0xf0d1cd32
xor ecx, 0xd909e4d9
xor edx, edx
div ecx
mov ecx, 0x5ac53dd5
xor edx, edx
div ecx
mov ecx, 0x2fc4142c
xor ecx, 0x2fc4142c
mov edx, 0xa6bed2f2
xor edx, 0xb8d90f16
sub ecx, edx
add eax, ecx
mov dword [rbp + 0x40], eax
mov ecx, 0x35d
sub rsp, 0x20
call fcn.140065fc0
mov rdx, qword [rbp + 0x58]
mov rcx, qword [rbp + 0xf8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x40]
mov qword [rdx + 0x40], r8
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x46], cl
cmp eax, 0xa7e46118
jbe 0x14015d1c7
mov dl, byte [rbp + 0x46]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rbp + 0x47], cl
mov rcx, rax
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
jne 0x14015c0eb
jmp 0x14015c3c0
mov rax, qword [rbp + 0xb8]
mov rcx, qword [rax]
mov qword [rbp + 0x1c8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1d0], rax
lea rcx, [rbp + 0x1d8]
lea rdx, [rbp + 0x1c8]
sub rsp, 0x20
call fcn.14001c002
mov rdx, qword [rbp + 0x58]
add rsp, 0x20
mov rcx, qword [rbp + 0x1d8]
mov rax, qword [rbp + 0x1e0]
mov qword [rdx + 0x48], rcx
mov qword [rdx + 0x50], rax
lea rcx, [rbp + 0x1b8]
sub rsp, 0x20
call fcn.14006ee30
mov rdx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x58]
add rsp, 0x20
mov rcx, qword [rbp + 0x1b8]
mov qword [rbp + 0x30], rcx
mov rcx, qword [rbp + 0x1c0]
mov qword [rbp + 0x38], rcx
mov r8b, byte [rdx]
mov r9b, 0xb6
xor r9b, 0xb6
mov dl, 1
cmp r8b, r9b
mov byte [rbp + 0x47], dl
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
jne 0x14015c3c0
mov rax, qword [rbp + 0x30]
movabs rcx, 0x6cb354c6cf9d64a8
add rax, rcx
movabs rcx, 0x749a479775cc1e3c
movabs rdx, 0x8b65b868f5cc1e3c
xor rcx, rdx
add rax, rcx
movabs rcx, 0x6cb354c6cf9d64a8
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14015c1ff
mov rcx, qword [rbp + 0x30]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x14015c3a4
mov eax, dword [0x14024ad80]
xor eax, 0x3ee75a1d
mov edx, dword [0x14024ad84]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
xor eax, 0x776e24f7
and eax, 0x62049ff9
or eax, 0x3c362e86
cmp eax, 0xb3b714c8
je 0x14015d1d0
mov rdx, qword [rbp + 0x30]
mov eax, dword [0x14024ad88]
mov r9d, dword [0x14024ad8c]
mov ecx, 0xedde7a86
xor ecx, 0x12218579
mov r10d, r9d
xor r10d, ecx
mov r8d, eax
and r8d, r10d
mov ecx, eax
or ecx, r10d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, ecx
mov r9d, 0xffffffff
xor r9d, 0x9a2bc49a
mov r8d, eax
and r8d, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, r8d
mov r8d, eax
and r8d, 0x9a2bc49a
mov r9d, 0xbeb34774
xor r9d, 0x249883ee
or eax, r9d
imul eax, r8d
add eax, ecx
mov ecx, 0x989f1cc2
xor ecx, 0xa5d6d573
mov r8d, 0x3c966300
xor r8d, 0xc3699cff
xor ecx, r8d
add eax, ecx
add eax, 1
or eax, 0xf1e0b4a0
mov ecx, 0xf0065f2d
xor ecx, 0xc304bac8
cmp rdx, 1
setl dl
mov byte [rbp + 0x2f], dl
cmp eax, ecx
je 0x14015c238
mov al, byte [rbp + 0x2f]
test al, 1
jne 0x14015c30c
jmp 0x14015c32a
mov rdx, qword [rbp + 0x30]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x14015c3a4
mov rcx, qword [rbp + 0x88]
mov r11, qword [rbp + 0x38]
mov rax, qword [rbp + 0x30]
mov esi, eax
add r11, 8
mov rax, qword [0x14025a9c8]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x14025a9c8]
mov rax, qword [rax]
mov edx, 0xfffffffe
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.14009c5e0
add rsp, 0x50
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0xf8]
mov dl, byte [rdx]
mov byte [rbp + 0x47], dl
mov qword [rbp + 0x48], rcx
mov qword [rbp + 0x50], rax
mov al, byte [rbp + 0x47]
mov rcx, qword [rbp + 0x48]
mov rdx, qword [rbp + 0x50]
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rcx
mov byte [rbp + 0x2e], al
mov eax, dword [0x14024ad90]
mov edx, dword [0x14024ad94]
and eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov edx, 0xc263b4cf
xor edx, 0x3d9c4b30
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
add eax, 0xa5976b8f
mov ecx, 0xed40c36
xor ecx, 0x7acec369
sub eax, ecx
mov ecx, 0x66c18f5f
xor edx, edx
div ecx
cmp eax, 0xb2f4154
ja 0x14015d1d9
mov rcx, qword [rbp + 0x18]
mov eax, dword [0x14024ad98]
or eax, dword [0x14024ad9c]
imul eax, eax, 0x8aeb2365
mov r8d, 0xa7864ee6
xor edx, edx
div r8d
mov dl, byte [rbp + 0x2e]
mov r8d, eax
mov rax, qword [rbp + 0xf8]
add r8d, 0x775a8b58
mov dword [rbp + 0x10], r8d
mov r8d, 0x252da793
xor r8d, 0xfbc60981
mov dword [rbp + 0xc], r8d
cmp dl, 0
sete dl
mov byte [rbp + 0xb], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14008d027
mov rdx, qword [rbp + 0xf8]
mov ecx, dword [rbp + 0xc]
mov eax, dword [rbp + 0x10]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x17], dl
cmp eax, ecx
je 0x14015d1d9
mov cl, byte [rbp + 0x17]
xor eax, eax
test cl, 1
mov qword [rbp + 0x90], rax
jne 0x14015c4c4
jmp 0x14015cfef
mov rax, qword [rbp + 0x20]
cmp rax, 0
je 0x14015c511
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
mov rdx, 0xffffffffffffffff
movabs rax, 0x4000000000000000
xor rdx, rax
mov rax, rcx
xor rax, rdx
and rax, rcx
cmp rax, 0
jne 0x14015c511
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov cl, byte [rbp + 0xb]
mov rax, qword [rbp + 0xf8]
mov dl, byte [rbp + 0x2e]
mov byte [rax], dl
xor eax, eax
test cl, 1
mov qword [rbp + 0x90], rax
jne 0x14015c537
jmp 0x14015cfef
mov rcx, qword [rbp + 0x88]
mov rax, qword [0x14025a9c8]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x14025a9c8]
mov rax, qword [rax]
mov r9d, 0xffffffff
xor edx, edx
xor edx, edx
sub rsp, 0x50
mov edx, r9d
mov r8d, r9d
mov dword [rsp + 0x20], 0xffffffff
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.14009c5e0
mov rcx, qword [rbp + 0xf8]
add rsp, 0x50
xor eax, eax
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
jne 0x14015cfef
mov rax, qword [rbp + 0x88]
mov rcx, qword [rax + 0x58]
mov qword [rbp + 0x198], rcx
mov rax, qword [rax + 0x60]
mov qword [rbp + 0x1a0], rax
lea rcx, [rbp + 0x1a8]
lea rdx, [rbp + 0x198]
sub rsp, 0x20
call fcn.14001c002
add rsp, 0x20
mov rcx, qword [rbp + 0x1a8]
mov rax, qword [rbp + 0x1b0]
mov qword [rbp + 0x188], rcx
mov qword [rbp + 0x190], rax
lea rcx, [rbp + 0x188]
sub rsp, 0x20
call fcn.140159da0
mov rcx, qword [rbp + 0xf8]
add rsp, 0x20
mov qword [rbp], rax
mov cl, byte [rcx]
mov dl, 0xf9
xor dl, 0xf9
cmp cl, dl
mov qword [rbp + 0x90], rax
jne 0x14015cfef
mov rax, qword [rbp]
mov rcx, qword [rbp + 0xd8]
mov rdx, qword [rax + 0x28]
mov qword [rbp + 0x178], rdx
mov rax, qword [rax + 0x30]
mov qword [rbp + 0x180], rax
lea rdx, [rbp + 0x178]
sub rsp, 0x20
call fcn.14001c002
mov rax, qword [rbp + 0xd8]
mov rcx, qword [rbp + 0xe8]
add rsp, 0x20
mov rdx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rcx], rdx
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400336f0
mov rcx, qword [rbp + 0xf8]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp]
mov qword [rbp + 0x1e8], rdx
mov cl, byte [rcx]
mov dl, 0x61
xor dl, 0x61
cmp cl, dl
mov qword [rbp + 0x90], rax
jne 0x14015cfef
mov rax, qword [rbp]
mov rcx, qword [rax]
mov qword [rbp + 0x158], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x160], rax
mov rax, qword [0x140259c80]
mov qword [rbp + 0x148], rax
mov rax, qword [0x140259c88]
mov qword [rbp + 0x150], rax
lea rcx, [rbp + 0x168]
lea rdx, [rbp + 0x158]
lea r8, [rbp + 0x148]
sub rsp, 0x20
call fcn.1400fca50
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp]
add rsp, 0x20
mov rdx, qword [rbp + 0x168]
mov qword [rbp - 0x10], rdx
mov rdx, qword [rbp + 0x170]
mov qword [rbp - 8], rdx
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
jne 0x14015cfef
mov rax, qword [rbp - 8]
mov rdx, qword [rbp - 0x10]
mov rcx, qword [0x1402cddf8]
add rcx, 0x18
mov qword [rbp + 0x138], rdx
mov qword [rbp + 0x140], rax
lea rdx, [rbp + 0x138]
sub rsp, 0x20
call fcn.140013d6a
add rsp, 0x20
mov rax, qword [0x1402cddf8]
mov byte [rax], 1
lea rax, [rbp + 0x128]
add rax, 8
mov qword [rbp - 0x20], rax
lea rax, [rbp + 0x118]
add rax, 8
mov qword [rbp - 0x18], rax
mov rax, qword [0x14025a9c8]
mov rcx, qword [rax + 8]
mov rdx, rcx
add rdx, 8
xor eax, eax
cmp rcx, 0
cmove rdx, rax
mov rax, qword [0x14025a9c8]
mov r8, qword [rax]
lea rcx, [rbp + 0x1e8]
sub rsp, 0x20
call fcn.14009d090
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x30], rcx
mov dl, byte [rax]
mov r8b, 0x41
xor r8b, 0x41
xor eax, eax
mov cl, al
mov al, 1
cmp dl, r8b
mov byte [rbp - 0x22], cl
mov byte [rbp - 0x21], al
jne 0x14015cc9e
mov eax, dword [0x14024ada0]
xor eax, 0xdfabf7da
mov ecx, dword [0x14024ada4]
xor ecx, 0x26608536
sub eax, ecx
mov ecx, 0x590b4b0f
xor edx, edx
div ecx
mov ecx, 0x37fddeca
xor ecx, 0x2c085a47
and eax, ecx
xor eax, 0xce188370
cmp eax, 0x9e3176ea
jbe 0x14015d1e2
mov rcx, qword [rbp - 0x30]
mov eax, dword [0x14024ada8]
xor eax, 0x9ad7397d
add eax, dword [0x14024adac]
or eax, eax
xor eax, 0xffffffff
mov edx, 0x14dfac67
or edx, 0x14dfac67
xor edx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0x4b26fe3e
xor edx, 0x58375368
add eax, edx
mov edx, 0x3104ce01
xor edx, 0x4664cb12
sub eax, edx
mov edx, 0xc8dc5064
xor edx, 0x7f07affe
sub eax, edx
add eax, 0x77600513
cmp rcx, 0
sete cl
mov byte [rbp - 0x31], cl
cmp eax, 0xf4e35262
jae 0x14015d1e2
mov al, byte [rbp - 0x31]
test al, 1
jne 0x14015c8e3
jmp 0x14015c914
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.14008be00
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
je 0x14015cd11
jmp 0x14015cfef
mov rax, qword [rbp - 0x30]
cmp dword [rax], 0xd3bbd14
jne 0x14015cb4c
mov eax, dword [0x14024adb0]
mov r8d, dword [0x14024adb4]
mov ecx, 0xaa9df408
xor ecx, 0x3cdf316c
xor r8d, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov ecx, 0x7e32ce4c
xor ecx, 0x81cd31b3
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, 0xc0db4c1a
xor ecx, 0x7cbb738f
xor edx, edx
div ecx
sub eax, 0x7c9a528f
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd41fdcc9
mov r8d, 0xffffffff
xor r8d, 0xd41fdcc9
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x3ceaee08
xor r8d, 0xe8f532c1
mov edx, eax
and edx, r8d
or eax, 0xd41fdcc9
imul eax, edx
add eax, ecx
cmp eax, 0xbb680f39
jae 0x14015d1eb
mov eax, dword [0x14024adb8]
add eax, dword [0x14024adbc]
mov ecx, eax
xor ecx, 0x2bc304b7
mov edx, 0xf2bfe4e2
xor edx, 0xd401b1d
xor ecx, edx
and ecx, 0x2bc304b7
shl ecx, 1
mov edx, 0x8132a2cf
xor edx, 0xaaf1a678
sub ecx, edx
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x24626814
mov r8d, 0xffffffff
xor r8d, 0x24626814
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xbc56f8d4
xor r8d, 0x983490c0
mov edx, eax
and edx, r8d
or eax, 0x24626814
imul eax, edx
add eax, ecx
mov ecx, 0xff7c0306
xor ecx, 0x26a40744
imul eax, ecx
mov dword [rbp - 0x38], eax
sub rsp, 0x20
call fcn.140066760
mov rcx, qword [rbp + 0xf8]
mov eax, dword [rbp - 0x38]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x32], cl
cmp eax, 0x2f20115c
jbe 0x14015d1eb
mov dl, byte [rbp - 0x32]
xor eax, eax
mov cl, al
mov al, 1
test dl, 1
mov byte [rbp - 0x22], cl
mov byte [rbp - 0x21], al
jne 0x14015ca98
jmp 0x14015cc9e
mov rdx, qword [rbp + 0xf0]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax + 8]
mov qword [rdx], rcx
mov rax, qword [rax + 0x10]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x128]
sub rsp, 0x20
call fcn.14001c002
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp - 0x18]
add rsp, 0x20
mov rdx, qword [rbp + 0x128]
mov rcx, qword [rcx]
mov qword [rbp + 0x118], rdx
mov qword [rax], rcx
lea rcx, [rbp + 0x118]
sub rsp, 0x20
call fcn.1400667d0
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov dl, byte [rax]
mov r8b, 0x4d
xor r8b, 0x4d
xor eax, eax
mov cl, al
mov al, 1
cmp dl, r8b
mov byte [rbp - 0x22], cl
mov byte [rbp - 0x21], al
jne 0x14015cc9e
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.14008be00
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
je 0x14015cd0c
jmp 0x14015cfef
mov ecx, 0x3c7
sub rsp, 0x20
call fcn.140065e7e
mov rdx, qword [rbp + 0xf8]
add rsp, 0x20
mov dword [rbp - 0x3c], eax
xor eax, eax
mov cl, al
mov al, 1
cmp byte [rdx], 0
mov byte [rbp - 0x22], cl
mov byte [rbp - 0x21], al
jne 0x14015cc9e
mov rdx, qword [rbp - 0x30]
mov r8d, dword [rbp - 0x3c]
mov cl, 1
xor eax, eax
cmp dword [rdx], r8d
mov byte [rbp - 0x22], cl
mov byte [rbp - 0x21], al
jne 0x14015cc9e
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x108], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0x110], rax
sub rsp, 0x20
call fcn.140193b2f
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp + 0x1f0], 0
mov rax, qword [rbp + 0x108]
mov qword [rcx], rax
mov rax, qword [rbp + 0x110]
mov qword [rcx + 8], rax
lea rdx, [rbp + 0x1f0]
sub rsp, 0x20
call fcn.1400785f0
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov rcx, qword [rbp + 0x1f0]
mov qword [rbp - 0x48], rcx
mov dl, byte [rax]
mov r8b, 0x18
xor r8b, 0x18
xor eax, eax
mov cl, al
mov al, 1
cmp dl, r8b
mov byte [rbp - 0x22], cl
mov byte [rbp - 0x21], al
jne 0x14015cc9e
mov rdx, qword [rbp - 0x48]
lea rcx, [0x1402cde00]
sub rsp, 0x20
call fcn.1400fbd40
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov dl, byte [rax]
mov r8b, 0x31
xor r8b, 0x31
xor eax, eax
mov cl, al
mov al, 1
cmp dl, r8b
mov byte [rbp - 0x22], cl
mov byte [rbp - 0x21], al
jne 0x14015cc9e
mov rcx, qword [rbp - 0x30]
sub rsp, 0x20
call fcn.14008be00
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x3b
xor dl, 0x3b
cmp cl, dl
mov qword [rbp + 0x90], rax
je 0x14015cd0c
jmp 0x14015cfef
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rbp - 0x30]
mov dl, byte [rbp - 0x22]
mov r8b, byte [rbp - 0x21]
mov byte [rbp - 0x4a], r8b
mov byte [rbp - 0x49], dl
mov byte [rax], 0
sub rsp, 0x20
call fcn.14008be00
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp]
add rsp, 0x20
cmp byte [rcx], 0
mov qword [rbp + 0x90], rax
jne 0x14015cfef
mov rax, qword [rbp]
mov cl, byte [rbp - 0x49]
mov rdx, qword [rbp + 0xf8]
mov r8b, byte [rbp - 0x4a]
mov byte [rdx], r8b
test cl, 1
mov qword [rbp + 0x90], rax
jne 0x14015cd0c
jmp 0x14015cfef
jmp 0x14015c7bd
mov eax, dword [0x14024adc0]
add eax, dword [0x14024adc4]
imul r11d, eax, 0x4d69384b
mov eax, 0x45435688
xor eax, 0xbabca977
mov ecx, r11d
xor ecx, eax
and ecx, 0x8dbea98b
mov edx, 0xffffffff
xor edx, 0x8dbea98b
mov eax, r11d
and eax, edx
imul eax, ecx
mov edx, 0xbf03734
xor edx, 0x864e9ebf
mov ecx, r11d
and ecx, edx
or r11d, 0x8dbea98b
imul r11d, ecx
add r11d, eax
mov eax, 0x101e25b2
xor eax, 0xefe1da4d
mov ecx, r11d
xor ecx, eax
mov r8d, 0x9c322c83
xor r8d, 0xc8b6b1bd
mov eax, 0xcb596f3c
xor eax, 0x34a690c3
xor r8d, eax
mov edx, 0x7afdd7f
xor edx, 0x4baf0643
mov eax, 0xb4a5457d
xor eax, 0x4b5aba82
xor edx, eax
mov r9d, 0xd315b231
xor r9d, 0x9f15690d
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0x4c00db3c
mov r10d, edx
and r10d, 0x54849d3e
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x4c00db3c
and ecx, edx
or eax, ecx
cmp eax, 0x340fa41a
jb 0x14015d1f4
mov eax, dword [0x14024adc8]
xor edx, edx
div dword [0x14024adcc]
sub eax, 0x95bdcbc8
mov ecx, 0x18b86e20
xor ecx, 0xbc0e3916
xor edx, edx
div ecx
mov edx, 0xca083934
xor edx, 0x35f7c6cb
mov ecx, eax
xor ecx, edx
mov edx, 0xfdf622e2
xor edx, 0xe945cfab
and ecx, edx
mov edx, 0xb4da64a0
xor edx, 0xa06989e9
mov r8d, 0x345afa33
xor r8d, 0xcba505cc
xor edx, r8d
and eax, edx
sub eax, ecx
cmp qword [0x1402cde00], 0
sete cl
mov byte [rbp - 0x4b], cl
cmp eax, 0x8ce28519
jbe 0x14015d1f4
mov al, byte [rbp - 0x4b]
test al, 1
jne 0x14015ce7d
jmp 0x14015cf18
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140259c58]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xde4b1b5e711e0cee
movabs rdx, 0xde4b1b5e22e7ca5e
xor rax, rdx
lea rdx, [0x140259c58]
lea r8, [0x140259c67]
lea r9, [0x140259c73]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140012522
mov rax, qword [rbp]
add rsp, 0x30
mov qword [rbp + 0x90], rax
jmp 0x14015cfef
mov rax, qword [rbp]
mov rcx, qword [0x1402cddf8]
cmp qword [rcx + 0x18], 0
mov qword [rbp + 0x90], rax
jne 0x14015cfef
movabs rcx, 0xf6f7b53e425e9643
movabs rax, 0xf6f7b53e425e9603
xor rcx, rax
movabs rdx, 0xb9e8f7922238d7f6
movabs rax, 0xb9e8f7922238d7fe
xor rdx, rax
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140259c58]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0xaf60faa673a80fba
movabs rdx, 0xaf60faa64a9eaebc
xor rax, rdx
lea rdx, [0x140259c58]
lea r8, [0x140259c67]
lea r9, [0x140259c73]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140012522
mov rax, qword [rbp]
add rsp, 0x30
mov qword [rbp + 0x90], rax
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0x90]
mov qword [rbp - 0x58], rcx
mov cl, byte [rax]
mov byte [rbp - 0x4d], cl
mov byte [rax], 0
mov rcx, qword [rbp + 0x1e8]
sub rsp, 0x20
call fcn.140031bd0
mov rcx, qword [rbp + 0xf8]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x4c], al
jne 0x14015d099
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.14010b648
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x54
xor dl, 0x54
mov al, 1
cmp cl, dl
mov byte [rbp - 0x4c], al
jne 0x14015d099
mov rcx, qword [rbp + 0x88]
sub rsp, 0x20
call fcn.140031bd0
mov rcx, qword [rbp + 0xf8]
mov al, byte [rbp - 0x4d]
add rsp, 0x20
mov dl, 1
mov byte [rbp - 0x5a], dl
cmp byte [rcx], 0
mov byte [rbp - 0x59], al
je 0x14015d093
mov al, byte [rbp - 0x5a]
mov byte [rbp - 0x59], al
mov al, byte [rbp - 0x59]
mov byte [rbp - 0x4c], al
mov rax, qword [rbp + 0xf8]
mov cl, byte [rbp - 0x4c]
mov byte [rbp - 0x69], cl
mov cl, 0x84
xor cl, 0x84
mov byte [rax], cl
mov rax, qword [0x1402cddf8]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x68], rcx
mov rax, qword [rax + 8]
movabs rcx, 0x6e49e2b427d4ec67
movabs rdx, 0x6e49e2b427d4ec67
xor rcx, rdx
cmp rax, rcx
je 0x14015d18d
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.140184601
add rsp, 0x20
mov rax, qword [0x1402cddf8]
mov qword [rbp - 0x80], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x78], rax
cmp rax, 1
jge 0x14015d156
mov rdx, qword [rbp - 0x78]
movabs rax, 0x485c619037432cf2
movabs rcx, 0x4b6829d65498baba
xor rax, rcx
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x334484663db9648
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x14015d199
mov rdx, qword [rbp - 0x78]
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x9957d8b8607a75a4
sub rsp, 0x20
call fcn.14009b4b0
mov rax, qword [rbp + 0xf8]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015d199
mov rax, qword [rbp + 0xf8]
mov cl, byte [rbp - 0x69]
mov byte [rax], cl
lea rsp, [rbp + 0x1f8]
pop rsi
pop rbp
ret
shr byte [rbp + 0x7f], cl
test ecx, ebp
mov esp, 0x82ffffe5
adc byte [rcx + rbp*8 - 0x1723], bh
invalid
invalid
cmp eax, 0xe9eb32d3
shr esp, 0xff
jmp qword [rax]
and byte [rsi + 0x74e968c0], al
out dx, al
invalid
in al, 0x3d
lodsb al, byte [rsi]
and al, 0xe9
pop rdi
invalid
xlatb
lodsd eax, dword [rsi]
mov ebx, 0xf247e9fc
invalid
pop rdi
jle 0x14015d206
jmp 0x14015c862
or rax, 0xffffffffd6e95ddb
idiv edi
call [rsi - 0x55]
pop rsi
stosd dword [rdi], eax
test ecx, ebp
cli
sti
invalid
add dword [rax], eax
add byte [rax - 0x73], cl
lodsb al, byte [rsi]
and al, 0x80
add byte [rax], al
add byte [rax - 0x77], cl
lea edi, [rax + 0x48000000]
mov dword [rbp + 0x88], ecx
mov eax, 0x10
mov qword [rbp + 0xa0], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xa0]
mov rcx, rsp
mov qword [rbp + 0xa8], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xb0], rax
sub rsp, 0x20
call fcn.140193b2f
mov rcx, qword [rbp + 0xb8]
add rsp, 0x20
add rax, 0x50
mov qword [rbp + 0xc0], rax
movabs rax, 0x125eac68916b23cf
movabs rdx, 0x125eac68916b23cf
xor rax, rdx
mov qword [rcx], rax
mov qword [rcx + 8], 0
mov rax, qword [0x1402cddf8]
mov qword [rbp + 0xc8], rax
mov al, byte [rax]
mov cl, 0xdc
xor cl, 0xdc
cmp al, cl
jne 0x14015d363
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400129fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x14025a748]
mov qword [rcx], rax
lea rax, [0x140259c58]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140259d68]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140259d70]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259c58]
lea r8, [0x140259c90]
lea r9, [0x140259c73]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x15b43720
call fcn.140012522
add rsp, 0x30
jmp 0x14015e520
mov rax, qword [rbp + 0xc8]
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x80], rcx
cmp qword [rax + 8], 0
je 0x14015d548
mov rcx, qword [rbp + 0x80]
sub rsp, 0x20
call fcn.140184601
add rsp, 0x20
mov rax, qword [0x1402cddf8]
mov qword [rbp + 0x70], rax
mov rax, qword [rax + 8]
mov qword [rbp + 0x78], rax
cmp rax, 1
jge 0x14015d402
mov rdx, qword [rbp + 0x78]
movabs rax, 0xd2d3f64b83e272db
sub rdx, rax
movabs rax, 0x864b5aadb46f97eb
movabs rcx, 0x79b4a5524b906814
xor rax, rcx
add rdx, rax
movabs rax, 0xd2d3f64b83e272db
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x14015e520
mov eax, dword [0x14024add0]
xor edx, edx
div dword [0x14024add4]
mov ecx, 0xe53c2cc8
xor ecx, 0x1ac3d337
mov edx, eax
xor edx, ecx
and edx, 0x5551117f
mov r8d, 0xffffffff
xor r8d, 0x5551117f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x5551117f
mov r8d, 0x4ab52559
xor r8d, 0x1fe43426
or eax, r8d
imul eax, edx
add eax, ecx
mov edx, 0xd1c3b4a6
xor edx, 0xd1c3b4a7
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
or eax, 0x38c5888d
add eax, ecx
imul eax, eax, 0x234d729a
cmp eax, 0xe755a1b4
je 0x14015e531
mov eax, dword [0x14024add8]
mov ecx, 0x2908e708
xor ecx, 0xf7fcd688
xor eax, ecx
mov ecx, dword [0x14024addc]
xor ecx, 0xdf9249ed
sub eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x98568323
mov ecx, 0xffffffff
xor ecx, 0x37434a75
or eax, edx
or ecx, 0x37434a75
mov edx, 0x5aefe00f
xor edx, 0xa5101ff0
xor eax, edx
and eax, ecx
sub eax, 0xca773150
mov ecx, 0x91074106
xor edx, edx
div ecx
mov rdx, qword [rbp + 0x78]
mov ecx, eax
mov rax, qword [rbp + 0x70]
mov dword [rbp + 0x68], ecx
mov ecx, 0xdb5c7d91
xor ecx, 0xca1b41ba
mov dword [rbp + 0x64], ecx
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x9957d05d605a75a4
sub rsp, 0x20
call fcn.14009b4b0
mov rdx, qword [rbp + 0xc0]
mov ecx, dword [rbp + 0x64]
mov eax, dword [rbp + 0x68]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x6f], dl
cmp eax, ecx
ja 0x14015e531
mov al, byte [rbp + 0x6f]
test al, 1
jne 0x14015d548
jmp 0x14015e520
mov ecx, dword [0x14024ade0]
mov eax, dword [0x14024ade4]
mov edx, 0xe1993b6b
xor edx, 0xe6195833
xor eax, edx
sub ecx, eax
xor eax, eax
sub eax, 0xf7d5a69d
sub ecx, eax
mov eax, ecx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xcd93f74b
xor edx, 0x7b4272a
mov r8d, 0x52c8417c
xor r8d, 0x98ef911d
or edx, r8d
xor edx, 0xffffffff
mov r8d, 0xcff4d269
xor r8d, 0x300b2d96
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
mov edx, 0x88eec6aa
xor edx, 0x77113955
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0xca27d061
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xb2988698
mov ecx, 0x43591f43
xor ecx, 0x90868675
cmp eax, ecx
je 0x14015e53a
mov rax, qword [rbp + 0x90]
mov ecx, dword [str.__teV]
xor ecx, 0xc60ddc2
mov r8d, dword [0x14024adec]
xor ecx, 0xffffffff
mov edx, 0x5286275d
xor edx, 0xad79d8a2
xor r8d, edx
mov edx, 0xffffffff
xor edx, 0x87f39a22
or ecx, r8d
or edx, 0x87f39a22
mov r8d, 0x60161a21
xor r8d, 0x9fe9e5de
xor ecx, r8d
and ecx, edx
and ecx, 0xacca5be2
mov edx, 0x3324c1cf
xor edx, 0xe9ffa188
add ecx, edx
imul ecx, ecx, 0xdddc4801
mov dword [rbp + 0x54], ecx
mov qword [rax], 0
mov rax, qword [0x140259d88]
mov qword [rbp + 0x140], rax
mov rax, qword [0x140259d90]
mov qword [rbp + 0x148], rax
lea rcx, [rbp + 0x140]
sub rsp, 0x20
call fcn.1400336f0
mov rcx, qword [rbp + 0xc0]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x54]
mov qword [rbp + 0x58], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x63], cl
cmp eax, 0x8b8e5d22
jb 0x14015d5e0
mov cl, byte [rbp + 0x63]
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rbp + 0x38], rcx
mov rcx, rax
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jne 0x14015d6ce
jmp 0x14015e0f2
mov ecx, 8
mov edx, 4
sub rsp, 0x20
call fcn.1400129fd
mov rcx, qword [rbp + 0x98]
add rsp, 0x20
mov rdx, rax
mov qword [rbp + 0x20], rdx
mov dword [rdx + 4], 3
sub rsp, 0x20
call fcn.14006d260
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x28], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x30], rcx
cmp byte [rax], 0
jne 0x14015d87e
mov rax, qword [rbp + 0x28]
movabs rcx, 0x2b37bd1935ea80ee
movabs rdx, 0x20a0db095fee0d79
xor rcx, rdx
add rax, rcx
add rax, 0xffffffff80000000
movabs rcx, 0xb9766106a048d97
sub rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14015d7b5
mov rcx, qword [rbp + 0x28]
movabs rdx, 0x24c3a303e3385526
movabs rax, 0xdb3c5cfc63385526
xor rdx, rax
movabs r8, 0x6852feaa456ba5a6
movabs rax, 0x6852feaa3a945a59
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x14015d87e
mov rax, qword [rbp + 0x28]
cmp rax, 1
jge 0x14015d807
mov rcx, qword [rbp + 0x28]
movabs rax, 0xe804819cb9672a73
movabs rdx, 0xe804819cb9672a73
xor rax, rdx
sub rax, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rax, rcx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x14015d87e
mov rcx, qword [rbp + 0x58]
mov r11, qword [rbp + 0x30]
mov rax, qword [rbp + 0x28]
mov esi, eax
add r11, 8
mov rax, qword [0x14025a9c8]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x14025a9c8]
mov rax, qword [rax]
mov edx, 0xfffffffd
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.14009c5e0
add rsp, 0x50
mov rcx, qword [rbp + 0x20]
sub rsp, 0x20
call fcn.14008cad1
mov rax, qword [rbp + 0x30]
add rsp, 0x20
cmp rax, 0
je 0x14015d936
mov rax, qword [rbp + 0x30]
mov rcx, qword [rax]
mov rax, rcx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0xb3ad991d4dec6b8
movabs rdx, 0x4b3ad991d4dec6b8
xor rcx, rdx
movabs rdx, 0xa0676db2d960d9d2
movabs r8, 0x5f98924d269f262d
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x68ebf58412d5e4a1
movabs rdx, 0x68ebf58412d5e4a1
xor rcx, rdx
cmp rax, rcx
jne 0x14015d936
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rcx, qword [rbp + 0xc0]
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x38], rcx
mov rcx, rax
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jne 0x14015e0f2
movabs rcx, 0x95e78b649f2c5790
movabs rax, 0x95e78b649f2c5794
xor rcx, rax
movabs rdx, 0x71e9be2e8295c093
movabs rax, 0x71e9be2e8295c097
xor rdx, rax
sub rsp, 0x20
call fcn.1400129fd
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov rdx, rax
mov qword [rbp + 8], rdx
sub rsp, 0x20
call fcn.140078930
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x10], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x18], rcx
cmp byte [rax], 0
jne 0x14015dad7
mov rcx, qword [rbp + 0x10]
mov rax, rcx
and rax, 0xffffffff80000000
or rcx, 0xffffffff80000000
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14015da23
mov rcx, qword [rbp + 0x10]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x14015dad7
mov rax, qword [rbp + 0x10]
cmp rax, 1
jge 0x14015da60
mov rcx, qword [rbp + 0x10]
xor eax, eax
sub rax, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rax, rcx
xor ecx, ecx
mov edx, ecx
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x14015dad7
mov rcx, qword [rbp + 0x58]
mov r11, qword [rbp + 0x18]
mov rax, qword [rbp + 0x10]
mov esi, eax
add r11, 8
mov rax, qword [0x14025a9c8]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x14025a9c8]
mov rax, qword [rax]
mov edx, 0xfffffffe
xor r9d, r9d
xor r8d, r8d
sub rsp, 0x50
mov r8d, r9d
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.14009c5e0
add rsp, 0x50
mov rcx, qword [rbp + 8]
sub rsp, 0x20
call fcn.14008d184
mov rax, qword [rbp + 0x18]
add rsp, 0x20
cmp rax, 0
je 0x14015db22
mov rcx, qword [rbp + 0x18]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14015db22
mov rcx, qword [rbp + 0x18]
sub rsp, 0x20
call fcn.14000f4df
add rsp, 0x20
mov rcx, qword [rbp + 0xc0]
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x38], rcx
mov rcx, rax
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jne 0x14015e0f2
mov rcx, qword [rbp + 0x58]
mov rax, qword [0x14025a9c8]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x14025a9c8]
mov rax, qword [rax]
mov r9d, 0xffffffff
xor edx, edx
xor edx, edx
sub rsp, 0x50
mov edx, r9d
mov r8d, r9d
mov dword [rsp + 0x20], 0xffffffff
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], r10
mov qword [rsp + 0x40], rax
mov dword [rsp + 0x48], 0
call fcn.14009c5e0
mov rax, qword [rbp + 0xc0]
add rsp, 0x50
mov cl, byte [rax]
mov dl, 0xfc
xor dl, 0xfc
xor eax, eax
cmp cl, dl
mov rcx, rax
mov qword [rbp + 0x38], rcx
mov rcx, rax
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jne 0x14015e0f2
mov rcx, qword [rbp + 0xb0]
mov rax, qword [rbp + 0x58]
mov rdx, qword [rax + 0x58]
mov qword [rbp + 0x130], rdx
mov rax, qword [rax + 0x60]
mov qword [rbp + 0x138], rax
lea rdx, [rbp + 0x130]
sub rsp, 0x20
call fcn.14001c002
mov rax, qword [rbp + 0xb0]
add rsp, 0x20
mov rcx, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbp + 0x120], rcx
mov qword [rbp + 0x128], rax
lea rcx, [rbp + 0x120]
sub rsp, 0x20
call fcn.140159da0
mov rdx, qword [rbp + 0xc0]
add rsp, 0x20
mov qword [rbp], rax
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jne 0x14015e0f2
mov rax, qword [rbp]
mov rcx, qword [rax + 0x28]
mov qword [rbp + 0x100], rcx
mov rax, qword [rax + 0x30]
mov qword [rbp + 0x108], rax
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x100]
sub rsp, 0x20
call fcn.14001c002
add rsp, 0x20
mov rcx, qword [rbp + 0x110]
mov rax, qword [rbp + 0x118]
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xf8], rax
lea rcx, [rbp + 0xf0]
sub rsp, 0x20
call fcn.1400336f0
mov rcx, qword [rbp + 0x90]
mov rdx, qword [rbp + 0xc0]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp]
mov qword [rcx], r8
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jne 0x14015e0f2
mov rcx, qword [rbp + 0x90]
mov rax, qword [0x14025a9c8]
mov r8, qword [rax + 8]
mov rdx, r8
add rdx, 8
xor eax, eax
cmp r8, 0
cmove rdx, rax
mov rax, qword [0x14025a9c8]
mov r8, qword [rax]
sub rsp, 0x20
call fcn.14009d090
mov r8, qword [rbp + 0xc0]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp]
mov qword [rbp - 8], rdx
xor ecx, ecx
cmp byte [r8], 0
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jne 0x14015e0f2
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 8]
mov qword [rbp + 0xe0], rcx
mov rax, qword [rax + 0x10]
mov qword [rbp + 0xe8], rax
sub rsp, 0x20
call fcn.140193b2f
add rsp, 0x20
mov qword [rbp + 0x160], 0
mov rax, qword [rbp + 0xe0]
mov qword [rbp + 0x150], rax
mov rax, qword [rbp + 0xe8]
mov qword [rbp + 0x158], rax
lea rcx, [rbp + 0x150]
lea rdx, [rbp + 0x160]
sub rsp, 0x20
call fcn.140079970
mov r8, qword [rbp + 0xc0]
mov rdx, qword [rbp - 8]
mov rax, qword [rbp]
add rsp, 0x20
mov rcx, qword [rbp + 0x160]
mov qword [rbp - 0x10], rcx
cmp byte [r8], 0
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x40], rcx
mov qword [rbp + 0x48], rax
jne 0x14015e0f2
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp + 0xb8]
mov rdx, qword [rax]
mov qword [rbp + 0xd0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xd8], rax
lea rdx, [rbp + 0xd0]
sub rsp, 0x20
call fcn.140020c5b
mov rcx, qword [rbp - 0x10]
call fcn.14008d276
mov rcx, qword [rbp - 8]
call fcn.14008be00
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015e19b
mov eax, dword [0x14024adf0]
mov ecx, dword [0x14024adf4]
xor ecx, 0xfe5e824f
and eax, ecx
mov ecx, 0xcbbb0501
xor ecx, 0xda0ed51b
xor eax, ecx
imul eax, eax, 0xf2349e02
mov ecx, 0x73dc4a4b
xor edx, edx
div ecx
mov ecx, 0xc394d434
xor ecx, 0xcec0ee57
cmp eax, ecx
jae 0x14015e543
mov rax, qword [rbp + 0x90]
mov ecx, dword [0x14024adf8]
mov edx, dword [0x14024adfc]
mov r8d, 0x7437b02
xor r8d, 0x333679f1
xor edx, r8d
imul ecx, edx
mov edx, 0x72c8eeee
xor edx, 0x2e5983b4
imul ecx, edx
mov r9d, 0xec9c85e1
xor r9d, 0x938d5e90
mov edx, 0x6ff35d42
xor edx, 0x900ca2bd
xor r9d, edx
mov r8d, ecx
and r8d, r9d
mov edx, ecx
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r8d, ecx
and r8d, 0x7f11db71
or ecx, 0x7f11db71
imul ecx, r8d
add ecx, edx
xor ecx, 0xfd72300c
mov dword [rbp - 0x18], ecx
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140031bd0
mov rcx, qword [rbp + 0xc0]
mov eax, dword [rbp - 0x18]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x11], cl
cmp eax, 0x99fe1e71
je 0x14015e543
mov al, byte [rbp - 0x11]
test al, 1
jne 0x14015df58
jmp 0x14015e19b
mov rcx, qword [rbp]
sub rsp, 0x20
call fcn.14010b648
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015e19b
mov rcx, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.140031bd0
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x8d
xor cl, 0x8d
cmp al, cl
jne 0x14015e19b
mov rax, qword [0x1402cddf8]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x20], rcx
cmp qword [rax + 8], 0
je 0x14015e520
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140184601
add rsp, 0x20
mov rax, qword [0x1402cddf8]
mov qword [rbp - 0x30], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x28], rax
movabs rcx, 0xcb16e0a4f690c91c
movabs rdx, 0xcb16e0a4f690c91d
xor rcx, rdx
cmp rax, rcx
jge 0x14015e0c6
mov eax, dword [0x14024ae00]
xor eax, 0xc590c5f6
sub eax, dword [0x14024ae04]
mov ecx, 0x53f62495
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0xb694b86b
add eax, ecx
add eax, 1
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x347c030
mov ecx, 0xffffffff
xor ecx, 0xd59ef9ea
or eax, edx
or ecx, 0xd59ef9ea
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x96564fe0
xor ecx, 0x666a1aa1
cmp eax, ecx
je 0x14015e54c
mov eax, dword [0x14024ae08]
xor edx, edx
div dword [0x14024ae0c]
add eax, 0x854ebe45
mov ecx, 0xbc3bac36
xor ecx, 0x705c296c
add eax, ecx
sub eax, 0x854ebe45
mov ecx, 0xadc45dca
xor edx, edx
div ecx
mov rdx, qword [rbp - 0x28]
and eax, 0xe8463e7d
mov dword [rbp - 0x34], eax
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
mov eax, dword [rbp - 0x34]
add rsp, 0x20
cmp eax, 0x7a04dda8
jae 0x14015e54c
jmp 0x14015e520
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x9957d8b8607a75a4
sub rsp, 0x20
call fcn.14009b4b0
add rsp, 0x20
jmp 0x14015e520
mov rax, qword [rbp + 0xc0]
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x40]
mov r8, qword [rbp + 0x48]
mov qword [rbp - 0x48], r8
mov qword [rbp - 0x40], rdx
mov byte [rax], 0
sub rsp, 0x20
call fcn.14008d276
mov rcx, qword [rbp - 0x40]
call fcn.14008be00
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xe1
xor cl, 0xe1
cmp al, cl
jne 0x14015e19b
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140031bd0
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14015e19b
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14010b648
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x15
xor cl, 0x15
cmp al, cl
jne 0x14015e19b
mov rcx, qword [rbp + 0x58]
sub rsp, 0x20
call fcn.140031bd0
add rsp, 0x20
mov eax, dword [0x14024ae10]
xor eax, 0x81bf3671
xor edx, edx
div dword [0x14024ae14]
mov ecx, 0xad33502c
xor ecx, 0xda8ca5da
xor edx, edx
div ecx
sub eax, 0x664ce47e
xor eax, 0xffffffff
mov ecx, 0xbae562cc
xor ecx, 0xb0af2231
mov edx, 0x97431c22
xor edx, 0x68bce3dd
xor ecx, edx
mov edx, 0x3a111956
xor edx, 0xabb16d21
mov r8d, 0x9da7086b
xor r8d, 0x6258f794
xor edx, r8d
or eax, ecx
mov ecx, 0xce5933c5
xor ecx, 0x5ff947b2
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
cmp eax, 0xb1e2a39
je 0x14015e555
mov rcx, qword [rbp + 0xc0]
mov edx, dword [0x14024ae18]
xor edx, 0x1ad0a738
mov r8d, dword [0x14024ae1c]
mov eax, edx
and eax, r8d
shl eax, 1
add edx, r8d
sub edx, eax
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xa2f128c
and eax, r8d
xor edx, 0xffffffff
mov r8d, 0x7a893161
xor r8d, 0x70a623ed
mov r9d, 0x9ad44039
xor r9d, 0x652bbfc6
xor r8d, r9d
and edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0x6c2197e8
xor edx, 0x862ec9f7
add eax, edx
imul eax, eax, 0xf88cd6b3
mov byte [rcx], 0
mov rcx, qword [0x1402cddf8]
mov rdx, rcx
add rdx, 8
mov qword [rbp - 0x58], rdx
mov rcx, qword [rcx + 8]
movabs rdx, 0x48491760ea5a2c7d
movabs r8, 0x48491760ea5a2c7d
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0x732d94a6
je 0x14015e555
mov al, byte [rbp - 0x49]
test al, 1
jne 0x14015e516
jmp 0x14015e2e2
mov rcx, qword [rbp - 0x58]
sub rsp, 0x20
call fcn.140184601
add rsp, 0x20
mov rax, qword [0x1402cddf8]
mov qword [rbp - 0x68], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x60], rax
cmp rax, 1
jge 0x14015e3fa
mov eax, dword [0x14024ae20]
or eax, dword [0x14024ae24]
sub eax, 0x82b2e928
imul eax, eax, 0xbbdc3591
or eax, 0xc5464699
cmp eax, 0x7b066e82
jb 0x14015e55e
mov rcx, qword [rbp - 0x60]
mov eax, dword [0x14024ae28]
xor eax, dword [0x14024ae2c]
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1a0c05f5
mov r8d, 0xffffffff
xor r8d, 0xcd7b063c
or eax, edx
mov edx, 0xa1fbd22e
xor edx, 0x6c80d412
or edx, r8d
xor eax, 0xffffffff
and eax, edx
mov edx, 0xd5c9ebf0
xor edx, 0x6e923a01
or eax, edx
or eax, 0xdf831901
mov dword [rbp - 0x6c], eax
mov eax, 0xd5955e02
xor eax, 0xd6eb365a
mov dword [rbp - 0x70], eax
movabs rax, 0x56b98688def9363a
movabs rdx, 0x56b98688def9363a
xor rax, rdx
sub rax, rcx
xor ecx, ecx
sub rcx, 0xffffffffffffffff
add rax, rcx
movabs rdx, 0x6d27adf95c358ff0
movabs rcx, 0x6d27adf95c358ff0
xor rdx, rcx
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140012b72
mov ecx, dword [rbp - 0x70]
mov eax, dword [rbp - 0x6c]
add rsp, 0x20
cmp eax, ecx
jb 0x14015e337
jmp 0x14015e520
mov ecx, dword [0x14024ae30]
mov edx, dword [0x14024ae34]
xor edx, 0x8694abf4
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
imul eax, eax, 0x3eed7493
mov ecx, 0xa7050fa9
xor edx, edx
div ecx
mov ecx, 0x561f38f3
xor ecx, 0x8921e427
xor edx, edx
div ecx
cmp eax, 0x63fcb54e
jae 0x14015e567
mov rdx, qword [rbp - 0x60]
mov rax, qword [rbp - 0x68]
mov ecx, dword [0x14024ae38]
mov r8d, dword [0x14024ae3c]
xor r8d, 0x5d8ffe07
and ecx, r8d
mov r8d, ecx
xor r8d, 0x33b3d8f0
xor r8d, 0xffffffff
or ecx, 0x33b3d8f0
and ecx, r8d
sub ecx, 0x28b3c79f
sub ecx, 0xed66d268
add ecx, 0x28b3c79f
mov r8d, 0xadcdeed3
xor r8d, 0x726656bd
mov r9d, 0x2519deb2
xor r9d, 0xdae6214d
xor r8d, r9d
mov r9d, 0x54a961e3
xor r9d, 0x54a961e3
mov r10d, 0xe84a3093
xor r10d, 0xe84a3092
sub r9d, r10d
sub r8d, r9d
sub ecx, r8d
mov dword [rbp - 0x78], ecx
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x9957d8b8607a75a4
sub rsp, 0x20
call fcn.14009b4b0
mov rcx, qword [rbp + 0xc0]
mov eax, dword [rbp - 0x78]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x71], cl
cmp eax, 0xa4a4d7aa
jae 0x14015e567
mov al, byte [rbp - 0x71]
test al, 1
jne 0x14015e516
jmp 0x14015e520
mov rax, qword [rbp + 0xc0]
mov byte [rax], 1
mov rax, qword [rbp + 0x88]
lea rsp, [rbp + 0x168]
pop rsi
pop rbp
ret
mov eax, 0xe9ded1af
out dx, eax
invalid
mov edx, 0xe9783d43
popfq
invalid
pushfq
pop rbp
pop rsi
jmp 0x14015de9a
rcl byte [rdx + 0xfe9b3b3], cl
sti
invalid
sbb eax, 0xe91f8b35
mov ecx, 0x6dfffffc
insd dword [rdi], dx
pushfq
mov al, 0xfb
jmp 0x14015e337
insd dword [rdi], dx
jno 0x14015e530
xor al, 0xe9
invalid