Function at 0x1401617a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x1a8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x118], rcx
mov qword [rbp + 0x120], rcx
mov eax, dword [0x140259af0]
xor edx, edx
div dword [0x140259af4]
mov r11d, eax
and r11d, r11d
mov ecx, 0x81e730c5
xor ecx, 0x7e18cf3a
xor r11d, ecx
and r11d, 0x512777a9
xor r11d, 0xffffffff
mov ecx, 0xb90a1863
xor ecx, 0xe82d6fca
mov edx, 0x9085eabc
xor edx, 0x6f7a1543
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x512777a9
or ecx, edx
mov edx, 0x37f85cfa
xor edx, 0xc807a305
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
and r11d, eax
xor r11d, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xd77bf333
mov eax, r11d
and eax, ecx
mov ecx, r11d
xor ecx, 0xd77bf333
add r11d, ecx
sub r11d, eax
mov eax, 0x2d903e22
xor eax, 0xd26fc1dd
mov ecx, r11d
xor ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x70e033a4
mov edx, 0xab7d936
xor edx, 0x3479fef4
mov eax, 0x5fef8c34
xor eax, 0xa01073cb
xor edx, eax
mov eax, ecx
and eax, 0x3ece27c2
and r11d, edx
mov r9d, r8d
and r9d, 0x3ece27c2
mov r10d, edx
and r10d, 0x70e033a4
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x3ece27c2
and ecx, edx
or eax, ecx
mov ecx, 0xcbcb9198
xor ecx, 0x2d470e5c
cmp eax, ecx
jb 0x140162c74
mov eax, dword [0x140259af8]
mov ecx, dword [0x140259afc]
or eax, ecx
or eax, 0x44937f6b
mov ecx, eax
imul rcx, rcx, 0x345b539
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
imul eax, eax, 0xd7d7616a
mov dword [rbp + 0xfc], eax
mov eax, 0x690bf9d3
mov dword [rbp + 0xf8], eax
mov eax, 0x10
mov qword [rbp + 0xe0], rax
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0x80], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0x88], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0x90], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0x98], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xa0], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xa8], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xb0], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xb8], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xc0], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xc8], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xd0], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xd8], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, qword [rbp + 0xe0]
mov rcx, rsp
mov qword [rbp + 0xe8], rcx
call fcn.14024f5c0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xf0], rax
sub rsp, 0x20
call fcn.1401a68de
mov rdx, qword [rbp + 0x118]
mov ecx, dword [rbp + 0xf8]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0xfc]
add r8, 0x50
mov qword [rbp + 0x100], r8
mov qword [rdx], 0
mov qword [rdx + 8], 0
mov rdx, qword [0x1402dcdf8]
mov qword [rbp + 0x108], rdx
mov dl, byte [rdx]
mov r8b, 0x55
xor r8b, 0x55
cmp dl, r8b
sete dl
mov byte [rbp + 0x117], dl
cmp eax, ecx
jbe 0x140162c74
mov al, byte [rbp + 0x117]
test al, 1
jne 0x140161ae4
jmp 0x140161b61
mov ecx, 0x40
mov edx, 8
sub rsp, 0x20
call fcn.1400132f0
add rsp, 0x20
mov rcx, rax
mov rax, qword [0x1402696e8]
mov qword [rcx], rax
lea rax, [0x140268c18]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140268d28]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140268d30]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140268c18]
lea r8, [0x140268c50]
lea r9, [0x140268c33]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x689e0e19
call fcn.1400127b0
add rsp, 0x30
jmp 0x140162c63
mov rax, qword [rbp + 0x108]
mov rcx, rax
add rcx, 8
mov qword [rbp + 0x78], rcx
cmp qword [rax + 8], 0
je 0x140161c2a
mov rcx, qword [rbp + 0x78]
sub rsp, 0x20
call fcn.140193017
add rsp, 0x20
mov rax, qword [0x1402dcdf8]
mov qword [rbp + 0x68], rax
mov rax, qword [rax + 8]
mov qword [rbp + 0x70], rax
cmp rax, 1
jge 0x140161bf3
mov rdx, qword [rbp + 0x70]
movabs rax, 0x26b4a94ee2bfc785
movabs rcx, 0xd94b56b11d40387a
xor rax, rcx
add rdx, rax
movabs rcx, 0x76fc86664854e829
movabs rax, 0x76fc86664854e829
xor rcx, rax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140162c63
mov rdx, qword [rbp + 0x70]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x49c928478a667463
sub rsp, 0x20
call fcn.14009f1f0
mov rax, qword [rbp + 0x100]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140162c63
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp + 0x90]
mov qword [rax], 0
mov rax, qword [0x140268d48]
mov qword [rcx], rax
mov rax, qword [0x140268d50]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.14003aa9d
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x48], rcx
mov cl, byte [rax]
mov dl, 0xa3
xor dl, 0xa3
xor eax, eax
cmp cl, dl
mov rcx, rax
mov qword [rbp + 0x50], rcx
mov rcx, rax
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x140162900
movabs rcx, 0x56f81ae2b103320d
movabs rax, 0x56f81ae2b1033205
xor rcx, rax
movabs rdx, 0x1921bf917952d3f9
movabs rax, 0x1921bf917952d3fd
xor rdx, rax
sub rsp, 0x20
call fcn.1400132f0
mov rcx, qword [rbp + 0xa0]
add rsp, 0x20
mov rdx, rax
mov qword [rbp + 0x30], rdx
mov dword [rdx + 4], 3
sub rsp, 0x20
call fcn.14006e890
mov rcx, qword [rbp + 0xa0]
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x38], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x40], rcx
cmp byte [rax], 0
jne 0x140161e28
mov rax, qword [rbp + 0x38]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x140161d55
mov rcx, qword [rbp + 0x38]
mov rdx, 0xffffffff80000000
mov r8d, 0x7fffffff
sub rsp, 0x20
call fcn.14000cee2
add rsp, 0x20
jmp 0x140161e28
mov rax, qword [rbp + 0x38]
movabs rcx, 0xd6245384954b16bc
movabs rdx, 0xd6245384954b16bd
xor rcx, rdx
cmp rax, rcx
jge 0x140161db1
mov rdx, qword [rbp + 0x38]
movabs rax, 0x874666c135d771c2
sub rdx, rax
add rdx, 0xffffffffffffffff
movabs rax, 0x874666c135d771c2
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140161e28
mov rcx, qword [rbp + 0x48]
mov r11, qword [rbp + 0x40]
mov rax, qword [rbp + 0x38]
mov esi, eax
add r11, 8
mov rax, qword [0x140269968]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x140269968]
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.1400a0140
add rsp, 0x50
mov rcx, qword [rbp + 0x30]
sub rsp, 0x20
call fcn.14008f6d1
mov rax, qword [rbp + 0x40]
add rsp, 0x20
cmp rax, 0
je 0x140161eef
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
movabs rdx, 0x9432caad57579f8d
movabs r8, 0xd432caad57579f8d
xor rdx, r8
movabs r8, 0x9277f194164495cc
movabs r9, 0x6d880e6be9bb6a33
xor r8, r9
xor rdx, r8
and rcx, rdx
xor rax, 0xffffffffffffffff
movabs rdx, 0x8a47eadf5c49a734
movabs r8, 0x75b81520a3b658cb
xor rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xedd63d0e020f69ee
movabs rdx, 0xedd63d0e020f69ee
xor rcx, rdx
cmp rax, rcx
jne 0x140161eef
mov rcx, qword [rbp + 0x40]
sub rsp, 0x20
call fcn.14000e9f6
add rsp, 0x20
mov ecx, dword [0x140259b00]
xor ecx, 0x15b72910
mov r8d, dword [0x140259b04]
mov edx, r8d
xor edx, 0xffffffff
mov eax, ecx
and eax, edx
mov edx, ecx
xor edx, r8d
add ecx, edx
sub ecx, eax
sub ecx, 0xb5db415d
add ecx, 0xff6cfc40
mov eax, 0xf1af8762
xor eax, 0x4474c63f
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xaa7d1a61
xor edx, 0xf447520c
mov r8d, 0x167b64ad
xor r8d, 0xe9849b52
xor edx, r8d
or eax, edx
mov edx, 0xffffffff
xor edx, 0x5e3a486d
mov r8d, 0xffffffff
xor r8d, 0x5e3a486d
or edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
add eax, 0x2dcec70e
cmp eax, 0x16ee2386
jb 0x140162c7d
mov rcx, qword [rbp + 0x100]
mov r8d, dword [0x140259b08]
mov eax, dword [0x140259b0c]
mov edx, 0xa589f512
xor edx, 0x72ae8012
xor eax, edx
mov r9d, 0x9dafefc2
xor r9d, 0x6250103d
mov edx, r8d
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
or eax, eax
xor eax, 0xffffffff
or edx, eax
xor edx, 0xffffffff
mov eax, edx
and eax, 0xc9255baf
mov r8d, 0xc069d65b
xor r8d, 0x94c8df4
xor edx, r8d
or eax, edx
mov edx, 0x66dd9a5f
xor edx, 0xec6a57a0
or eax, edx
mov edx, 0xb60f0568
xor edx, 0xeba7a98f
and eax, edx
mov cl, byte [rcx]
mov dl, 0x88
xor dl, 0x88
cmp cl, dl
sete cl
mov byte [rbp + 0x2f], cl
cmp eax, 0x69b4a61
jbe 0x140162c7d
mov cl, byte [rbp + 0x2f]
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rbp + 0x50], rcx
mov rcx, rax
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x140162048
jmp 0x140162900
mov edx, 4
sub rsp, 0x20
mov rcx, rdx
call fcn.1400132f0
mov rcx, qword [rbp + 0xa8]
add rsp, 0x20
mov rdx, rax
mov qword [rbp + 0x10], rdx
sub rsp, 0x20
call fcn.140079170
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x18], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x20], rcx
cmp byte [rax], 0
jne 0x14016230d
mov rcx, qword [rbp + 0x18]
mov rax, rcx
and rax, 0xffffffff80000000
or rcx, 0xffffffff80000000
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x14016210c
mov rcx, qword [rbp + 0x18]
movabs rdx, 0xe55d8e4606fdca90
movabs rax, 0x1aa271b986fdca90
xor rdx, rax
movabs r8, 0xcfa112f16f522a84
movabs rax, 0xcfa112f110add57b
xor r8, rax
sub rsp, 0x20
call fcn.14000cee2
add rsp, 0x20
jmp 0x14016230d
mov rax, qword [rbp + 0x18]
cmp rax, 1
jge 0x140162138
mov rdx, qword [rbp + 0x18]
add rdx, 0xffffffffffffffff
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x14016230d
mov ecx, dword [0x140259b10]
imul ecx, dword [0x140259b14]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x243d6a46
xor edx, 0x96d4acb5
and edx, eax
mov r8d, 0xd9f031ae
xor r8d, 0x6b19f75d
mov eax, 0xd7b4f7b
xor eax, 0xf284b084
xor r8d, eax
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0xb2e9c6f3
mov r8d, 0xc1aa6047
xor r8d, 0x7343a6b4
or ecx, r8d
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0x3270b7f9
xor edx, 0xb186eac8
and edx, eax
mov r8d, 0xffffffff
xor r8d, 0x83f65d31
mov eax, ecx
and eax, r8d
imul eax, edx
mov edx, ecx
and edx, 0x83f65d31
or ecx, 0x83f65d31
imul ecx, edx
add ecx, eax
mov edx, 0xa8613b4c
xor edx, 0x579ec4b3
mov eax, ecx
xor eax, edx
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xb841b587
mov edx, 0xffffffff
xor edx, 0xb841b587
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xe820e1f8
je 0x140162c86
mov rcx, qword [rbp + 0x48]
mov r11, qword [rbp + 0x20]
mov eax, dword [0x140259b18]
mov r8d, dword [0x140259b1c]
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, r8d
add edx, eax
xor eax, eax
sub eax, edx
mov r8d, 0xb5da9e21
xor edx, edx
div r8d
mov r8d, eax
mov rax, qword [rbp + 0x18]
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
mov r8d, 0xffffffff
xor r8d, 0x20566ce2
mov r9d, 0xffffffff
xor r9d, 0x20566ce2
and r8d, r9d
mov r9d, 0xf02ed6ec
xor r9d, 0xfd12913
xor edx, r9d
xor r8d, 0xffffffff
and edx, r8d
and edx, 0x9f49b3a1
mov dword [rbp + 0xc], edx
mov esi, eax
add r11, 8
mov rax, qword [0x140269968]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x140269968]
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.1400a0140
mov eax, dword [rbp + 0xc]
add rsp, 0x50
cmp eax, 0x4670636e
je 0x140162c86
jmp 0x14016230d
mov rcx, qword [rbp + 0x10]
sub rsp, 0x20
call fcn.14008fd16
mov rax, qword [rbp + 0x20]
add rsp, 0x20
cmp rax, 0
je 0x1401624db
mov eax, dword [0x140259b20]
xor edx, edx
div dword [0x140259b24]
mov edx, eax
mov eax, 0x43892488
xor eax, 0x1a7fff21
mov ecx, edx
xor ecx, eax
mov eax, 0xffffffff
xor eax, 0x59f6dba9
and edx, eax
mov eax, 0x432f5f41
xor eax, 0x432f5f43
imul eax, edx
sub eax, ecx
add eax, 0x18bf1d95
or eax, 0xbb315fb1
cmp eax, 0x7462c76a
jb 0x140162c8f
mov rdx, qword [rbp + 0x20]
mov ecx, dword [0x140259b28]
sub ecx, dword [0x140259b2c]
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0x70b8dc0f
or eax, r8d
and ecx, 0x70b8dc0f
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x74d6e57e
xor ecx, 0xb12b33b9
add eax, ecx
mov ecx, 0x36431384
xor ecx, 0xae0b6068
or eax, ecx
movabs rcx, 0x4000000000000000
and rcx, qword [rdx]
movabs rdx, 0x436fe3f7e76b037d
movabs r8, 0x436fe3f7e76b037d
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp + 0xb], cl
cmp eax, 0xd6a43ec4
jae 0x140162c8f
mov al, byte [rbp + 0xb]
test al, 1
jne 0x14016240f
jmp 0x1401624db
mov eax, dword [0x140259b30]
mov ecx, dword [0x140259b34]
mov edx, 0x7ea7c4ef
xor edx, 0x969664a8
xor ecx, edx
add eax, ecx
or eax, 0x10ee0d1c
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xe1fd3dbc
xor edx, 0x5ed93bd1
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xbf24066d
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xbf24066d
or eax, 0xbf24066d
imul eax, edx
add eax, ecx
and eax, 0xc6794b74
mov ecx, 0x660fc54e
xor ecx, 0x62d778a9
cmp eax, ecx
jbe 0x140162c98
mov rcx, qword [rbp + 0x20]
mov eax, dword [0x140259b38]
mov r8d, dword [0x140259b3c]
mov r9d, eax
xor r9d, r8d
xor r9d, 0xffffffff
mov edx, r8d
and edx, r9d
shl edx, 1
sub edx, r8d
sub eax, edx
xor eax, 0xef109200
xor eax, 0xa3cbb079
or eax, 0x28eaddd1
mov dword [rbp + 4], eax
sub rsp, 0x20
call fcn.14000e9f6
mov eax, dword [rbp + 4]
add rsp, 0x20
cmp eax, 0xf4a465fc
jae 0x140162c98
jmp 0x1401624db
mov rcx, qword [rbp + 0x100]
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x50], rcx
mov rcx, rax
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x140162900
mov rcx, qword [rbp + 0x48]
mov rax, qword [0x140269968]
mov rdx, qword [rax + 8]
mov r10, rdx
add r10, 8
xor eax, eax
cmp rdx, 0
cmove r10, rax
mov rax, qword [0x140269968]
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.1400a0140
mov rcx, qword [rbp + 0x100]
add rsp, 0x50
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x50], rcx
mov rcx, rax
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x140162900
mov rcx, qword [rbp + 0xb0]
mov rdx, qword [rbp + 0xb8]
mov rax, qword [rbp + 0x48]
mov r8, qword [rax + 0x58]
mov qword [rdx], r8
mov rax, qword [rax + 0x60]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001cda0
mov rax, qword [rbp + 0xb0]
mov rcx, qword [rbp + 0xc0]
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.14015d750
mov rdx, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp - 8], rax
xor ecx, ecx
cmp byte [rdx], 0
mov rdx, rcx
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x140162900
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0xc8]
mov rdx, qword [rbp + 0xd0]
mov r8, qword [rax + 0x28]
mov qword [rdx], r8
mov rax, qword [rax + 0x30]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14001cda0
mov rax, qword [rbp + 0xc8]
mov rcx, qword [rbp + 0xd8]
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.14003aa9d
mov rdx, qword [rbp + 0x90]
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp - 8]
mov qword [rdx], r8
mov dl, byte [rcx]
mov r8b, 0x4c
xor r8b, 0x4c
xor ecx, ecx
cmp dl, r8b
mov rdx, rcx
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x140162900
mov rcx, qword [rbp + 0x90]
mov rax, qword [0x140269968]
mov r8, qword [rax + 8]
mov rdx, r8
add rdx, 8
xor eax, eax
cmp r8, 0
cmove rdx, rax
mov rax, qword [0x140269968]
mov r8, qword [rax]
sub rsp, 0x20
call fcn.1400a06d0
mov r8, qword [rbp + 0x100]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 8]
mov qword [rbp - 0x10], rdx
xor ecx, ecx
cmp byte [r8], 0
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x140162900
mov rcx, qword [rbp - 0x10]
mov rax, qword [rbp + 0xe8]
mov rdx, qword [rcx + 8]
mov qword [rax], rdx
mov rcx, qword [rcx + 0x10]
mov qword [rax + 8], rcx
sub rsp, 0x20
call fcn.1401a68de
mov rcx, qword [rbp + 0x88]
mov rdx, qword [rbp + 0x80]
add rsp, 0x20
mov rax, qword [rbp + 0xe8]
mov qword [rdx], 0
mov r8, qword [rax]
mov qword [rcx], r8
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140079e40
mov rcx, qword [rbp + 0x80]
mov r8, qword [rbp + 0x100]
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
add rsp, 0x20
mov rcx, qword [rcx]
mov qword [rbp - 0x18], rcx
mov r8b, byte [r8]
mov r9b, 0x56
xor r9b, 0x56
cmp r8b, r9b
mov qword [rbp + 0x50], rdx
mov qword [rbp + 0x58], rcx
mov qword [rbp + 0x60], rax
jne 0x140162900
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0x118]
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14002273a
mov rcx, qword [rbp - 0x18]
call fcn.14008fd80
mov rcx, qword [rbp - 0x10]
call fcn.14008eca0
mov rax, qword [rbp + 0x100]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140162ac0
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140038cdc
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x46
xor cl, 0x46
cmp al, cl
jne 0x140162ac0
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.14011413b
mov rax, qword [rbp + 0x100]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140162ac0
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.140038cdc
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x65
xor cl, 0x65
cmp al, cl
jne 0x140162ac0
mov rax, qword [0x1402dcdf8]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x20], rcx
cmp qword [rax + 8], 0
je 0x140162c63
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.140193017
add rsp, 0x20
mov rax, qword [0x1402dcdf8]
mov qword [rbp - 0x30], rax
mov rax, qword [rax + 8]
mov qword [rbp - 0x28], rax
cmp rax, 1
jge 0x1401628d4
mov rdx, qword [rbp - 0x28]
xor eax, eax
sub rax, 0xffffffffffffffff
sub rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140162c63
mov rdx, qword [rbp - 0x28]
mov rax, qword [rbp - 0x30]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x49c91c688a667463
sub rsp, 0x20
call fcn.14009f1f0
add rsp, 0x20
jmp 0x140162c63
mov rax, qword [rbp + 0x50]
mov rcx, qword [rbp + 0x58]
mov rdx, qword [rbp + 0x60]
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x40], rcx
mov qword [rbp - 0x38], rax
mov eax, dword [0x140259b40]
xor eax, 0x976b0c01
mov edx, dword [0x140259b44]
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or ecx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
or eax, edx
and ecx, eax
mov eax, 0xbb88ad58
xor eax, 0x447752a7
xor ecx, eax
and ecx, 0xad976d6e
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0xffffffff
xor edx, 0x542367a7
mov r8d, 0xffffffff
xor r8d, 0x542367a7
and edx, r8d
or eax, edx
mov edx, 0xf0a041c6
xor edx, 0xf5fbe39
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x542367a7
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xc2bcbcce
xor edx, edx
div ecx
cmp eax, 0x1d28d126
je 0x140162ca1
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp - 0x40]
mov r8d, dword [0x140259b48]
xor r8d, dword [0x140259b4c]
mov edx, r8d
xor edx, 0x78d4b4ce
xor edx, 0xffffffff
and edx, 0x78d4b4ce
shl edx, 1
sub edx, 0x78d4b4ce
sub r8d, edx
mov r9d, 0x725122c
xor r9d, 0x84b7888c
mov edx, 0xb3d61b5b
xor edx, 0x4c29e4a4
xor r9d, edx
mov edx, r8d
xor edx, r9d
and edx, r8d
sub edx, 0xf8708117
mov dword [rbp - 0x50], edx
mov byte [rax], 0
sub rsp, 0x20
call fcn.14008fd80
mov rcx, qword [rbp - 0x38]
call fcn.14008eca0
mov rcx, qword [rbp + 0x100]
mov eax, dword [rbp - 0x50]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0xb8
xor dl, 0xb8
cmp cl, dl
sete cl
mov byte [rbp - 0x49], cl
cmp eax, 0xd8a4e07f
je 0x140162ca1
mov al, byte [rbp - 0x49]
test al, 1
jne 0x140162a67
jmp 0x140162ac0
mov rax, qword [rbp + 0x90]
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.140038cdc
mov rax, qword [rbp + 0x100]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140162ac0
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14011413b
mov rax, qword [rbp + 0x100]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140162ac0
mov rcx, qword [rbp + 0x48]
sub rsp, 0x20
call fcn.140038cdc
add rsp, 0x20
mov rax, qword [rbp + 0x100]
mov cl, 0xb9
xor cl, 0xb9
mov byte [rax], cl
mov rax, qword [0x1402dcdf8]
mov rcx, rax
add rcx, 8
mov qword [rbp - 0x58], rcx
cmp qword [rax + 8], 0
je 0x140162c55
mov eax, dword [0x140259b50]
mov edx, dword [0x140259b54]
mov ecx, 0x2696526d
xor ecx, 0x2696526d
sub ecx, eax
mov eax, 0x18e029aa
xor eax, 0x18e029aa
sub eax, edx
add ecx, eax
mov eax, 0x671830f1
xor eax, 0x671830f1
sub eax, ecx
imul eax, eax, 0xe23642dd
mov ecx, eax
add ecx, 1
mov edx, 0x1de3a9aa
xor edx, 0xe21c5655
xor eax, edx
mov edx, 0x2a8716ac
xor edx, 0x40b23d9c
or eax, edx
add eax, ecx
add eax, 0xb3266161
cmp eax, 0x99546bd0
je 0x140162caa
mov rcx, qword [rbp - 0x58]
mov eax, dword [0x140259b58]
mov edx, dword [0x140259b5c]
xor edx, 0x660c9508
xor eax, edx
sub eax, 0x8d209f14
or eax, 0xd7d73505
imul eax, eax, 0x137dfbe2
mov dword [rbp - 0x74], eax
mov eax, 0xc3f6784f
xor eax, 0xf45b5730
mov dword [rbp - 0x78], eax
sub rsp, 0x20
call fcn.140193017
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
mov rdx, qword [0x1402dcdf8]
mov qword [rbp - 0x70], rdx
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x68], rdx
cmp rdx, 1
setl dl
mov byte [rbp - 0x59], dl
cmp eax, ecx
jbe 0x140162b55
mov al, byte [rbp - 0x59]
test al, 1
jne 0x140162bd5
jmp 0x140162c18
mov rdx, qword [rbp - 0x68]
mov rax, rdx
and rax, 0xffffffffffffffff
movabs rcx, 0x356315f62404fede
movabs r8, 0x356315f62404fedc
xor rcx, r8
imul rax, rcx
xor rdx, 0xffffffffffffffff
add rdx, rax
xor eax, eax
mov ecx, eax
sub rsp, 0x20
call fcn.140013507
add rsp, 0x20
jmp 0x140162c63
mov rdx, qword [rbp - 0x68]
mov rax, qword [rbp - 0x70]
mov rcx, qword [rax + 0x10]
add rcx, 8
movabs r8, 0x49c91c688a667463
sub rsp, 0x20
call fcn.14009f1f0
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xad
xor cl, 0xad
cmp al, cl
jne 0x140162c63
mov rax, qword [rbp + 0x100]
mov cl, 0xd6
xor cl, 0xd7
mov byte [rax], cl
mov rax, qword [rbp + 0x120]
lea rsp, [rbp + 0x128]
pop rsi
pop rbp
ret
jnp 0x140162c9e
mov ch, 0x1e
jmp 0x1401618c6
pop rbx
or al, 0xaa
scasd eax, dword [rdi]
jmp 0x140161f91
call 0xc1002793
cmc
invalid
ret 0x9cd6
mov ah, byte [0x12000038b]
idiv edi
call [rbp - 0x1642613f]
or al, 0xfd
invalid
popfq
rcr dword [rsi - 0x2f31643], 0xff
call rbx
mov dl, 0x79
and ecx, ebp
movabs byte [0x2e66666666fffffe], al
nop dword [rax + rax]
push rsi
push rdi
sub rsp, 0x78
mov qword [rsp + 0x38], rcx
call fcn.1401a68de
mov rcx, qword [rsp + 0x38]
mov qword [rsp + 0x48], rax
add rax, 0x50
mov qword [rsp + 0x40], rax
mov rax, qword [rcx + 0x10]
mov qword [rsp + 0x68], rax
mov rax, qword [rcx + 0x18]
mov qword [rsp + 0x70], rax
lea rcx, [rsp + 0x68]
call fcn.140162f10
mov rcx, rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x50], rcx
mov al, byte [rax + 0x50]
mov cl, 0xba
xor cl, 0xba
cmp al, cl
jne 0x140162f00
sal dword [rdx - 0x5d16de87], cl
invalid
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
lea rcx, [rsp + 0x58]
call fcn.140162f10
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x30], rcx
cmp byte [rax], 0
jne 0x140162f00
mov ecx, dword [0x140259b60]
mov eax, dword [0x140259b64]
xor eax, 0x2de08f01
add ecx, eax
mov r8d, 0xffffffff
xor r8d, 0x5872e21a
mov edx, ecx
and edx, r8d
mov eax, ecx
or eax, r8d
xor eax, 0xffffffff
imul eax, edx
mov edx, ecx
and edx, 0x5872e21a
or ecx, 0x5872e21a
imul ecx, edx
add ecx, eax
sub ecx, 0x66f0240e
mov eax, ecx
or eax, 0xbf5cbbbb
mov edx, 0x74fb209
xor edx, 0xf8b04df6
xor eax, edx
mov edx, 0x31afc351
xor edx, 0x8ef378ea
or ecx, edx
mov edx, 0xcb33c13d
xor edx, 0x34cc3ec2
xor ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0x662f043a
xor ecx, 0x7a528252
cmp eax, ecx
jb 0x140162f07
mov r8, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x50]
mov edi, dword [0x140259b68]
xor edi, 0x34804c27
mov ecx, dword [0x140259b6c]
mov eax, edi
and eax, ecx
shl eax, 1
add edi, ecx
sub edi, eax
mov ecx, 0xffffffff
xor ecx, 0x508b9a0
mov eax, edi
and eax, ecx
mov r9d, 0x54cf4bcf
xor r9d, 0x51c7f26f
mov ecx, edi
xor ecx, r9d
add edi, ecx
sub edi, eax
mov r9d, 0xffffffff
xor r9d, 0xc24238f3
mov ecx, edi
and ecx, r9d
mov eax, edi
or eax, r9d
mov r9d, 0x32a083cb
xor r9d, 0xcd5f7c34
xor eax, r9d
imul eax, ecx
mov ecx, edi
and ecx, 0xc24238f3
or edi, 0xc24238f3
imul edi, ecx
add edi, eax
mov ecx, edi
xor ecx, 0xffffffff
mov r10d, 0xffffffff
xor r10d, 0xc86df4c3
mov r9d, 0xffffffff
xor r9d, 0x21c7c227
mov eax, ecx
and eax, 0x21c7c227
and edi, r9d
mov esi, 0x668b4575
xor esi, 0x474c8752
mov r11d, r10d
and r11d, esi
mov esi, 0x4c031294
xor esi, 0x846ee657
and esi, r9d
or eax, edi
or r11d, esi
xor eax, r11d
or ecx, r10d
mov r10d, 0x20f02c01
xor r10d, 0xdf0fd3fe
xor ecx, r10d
or r9d, 0x21c7c227
and ecx, r9d
or eax, ecx
mov dword [rsp + 0x2c], eax
xor eax, eax
mov ecx, eax
mov r9d, 0x136
call fcn.1400b9f51
mov eax, dword [rsp + 0x2c]
cmp eax, 0x9959b5f2
je 0x140162f07
invalid
jmp 0x140162f00
add rsp, 0x78
pop rdi
pop rsi
ret
jrcxz 0x140162eb1
sub eax, 0xfed1e9cd
invalid