Function at 0x1401d8400
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x1e8
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xf0], rcx
mov qword [rbp + 0xc8], rcx
mov eax, 0x10
mov qword [rbp + 0xd8], rax
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xd8]
mov rcx, rsp
mov qword [rbp + 0xd0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, qword [rbp + 0xd8]
mov rcx, rsp
mov qword [rbp + 0xe0], rcx
call fcn.14023fff0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xe8], rax
sub rsp, 0x20
call fcn.1401d5d94
mov rcx, qword [rbp + 0xf0]
add rsp, 0x20
mov qword [rbp + 0x100], rax
mov qword [rcx], 0
mov rax, rcx
add rax, 8
mov qword [rbp + 0xf8], rax
mov qword [rcx + 8], 0
mov qword [rbp + 0x160], 0
mov ecx, 0x867
sub rsp, 0x20
call fcn.14006580e
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x108], rcx
cmp byte [rax], 0
jne 0x1401d836e
mov cl, 1
xor cl, 0
sub rsp, 0x20
and cl, 1
call fcn.1400a24c8
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x100]
mov dword [rbp + 0xc4], ecx
cmp byte [rax], 0
jne 0x1401d836e
mov edx, dword [rbp + 0xc4]
mov rcx, qword [rbp + 0x108]
lea r8, [rbp + 0x160]
sub rsp, 0x20
call fcn.1400b70e0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x100]
mov dword [rbp + 0xc0], ecx
cmp byte [rax], 0
jne 0x1401d836e
mov eax, dword [rbp + 0xc0]
cmp eax, 0
je 0x1401d6e30
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, [0x140259ff0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14025a040]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14025a048]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259ff0]
lea r8, [0x14025a01d]
lea r9, [0x14025a012]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x3054e051
call fcn.140012522
add rsp, 0x30
jmp 0x1401d836e
mov eax, dword [0x14024dcd8]
mov edx, dword [0x14024dcdc]
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0x629a2bc1
mov edx, 0xf03c5541
xor edx, 0xf03c5543
imul ecx, edx
xor eax, 0x629a2bc1
add eax, ecx
or eax, 0x4a822896
xor ecx, ecx
sub ecx, 0xf4059a60
sub eax, ecx
cmp eax, 0xfe710001
ja 0x1401d837f
mov r8d, dword [0x14024dce0]
xor r8d, 0x6ca05565
and r8d, dword [0x14024dce4]
mov ecx, 0x4ae6f44e
xor ecx, 0xb5190bb1
mov eax, r8d
xor eax, ecx
and eax, 0xaf234cb6
mov r9d, 0xffffffff
xor r9d, 0xaf234cb6
and r8d, r9d
mov ecx, 0xffffffff
xor ecx, 0x1e4d0d9
mov edx, 0x9757a4b9
xor edx, 0x3874e80f
and ecx, edx
mov edx, 0x5606f969
xor edx, 0x57e229b0
and edx, r9d
or eax, r8d
or ecx, edx
xor eax, ecx
xor ecx, ecx
sub ecx, 0xcde78981
add eax, ecx
sub eax, 0x7bcfb6d9
mov dword [rbp + 0xac], eax
sub rsp, 0x20
call fcn.1401d5c80
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0xac]
mov qword [rbp + 0xb0], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0xbf], cl
cmp eax, 0x1e02ac84
jbe 0x1401d6e81
mov al, byte [rbp + 0xbf]
test al, 1
jne 0x1401d6f4b
jmp 0x1401d836e
sub rsp, 0x20
call fcn.1400b88c1
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp + 0xa0], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
sub rsp, 0x20
call fcn.1400b88d8
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov ecx, 0x4e
sub rsp, 0x20
call fcn.1400b88ef
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov dword [rbp + 0x9c], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov ecx, 0x4f
sub rsp, 0x20
call fcn.1400b88ef
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov dword [rbp + 0x98], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov eax, dword [0x14024dce8]
mov ecx, dword [0x14024dcec]
xor ecx, 0x46bb97eb
xor edx, edx
div ecx
add eax, 0xae50a94d
sub eax, 0xc984ab55
sub eax, 0xae50a94d
or eax, 0x181d9e0c
and eax, 0x2289f8f3
cmp eax, 0x5fd176bf
je 0x1401d8388
mov rcx, qword [rbp + 0xa0]
mov eax, dword [0x14024dcf0]
xor edx, edx
div dword [0x14024dcf4]
mov edx, eax
mov eax, edx
and eax, 0xe22f4012
xor eax, 0xffffffff
add edx, 0xe22f4012
add edx, 1
add edx, eax
mov eax, edx
or eax, eax
mov r8d, 0x7a364c4f
xor r8d, 0x85c9b3b0
xor eax, r8d
mov r8d, 0xffffffff
xor r8d, 0x808c473a
mov r9d, 0xeaf6c049
xor r9d, 0x6a7a8773
mov r10d, 0xbc0dab31
xor r10d, 0x43f254ce
xor r9d, r10d
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0x808c473a
xor edx, 0xffffffff
mov r8d, 0x3c99f3cb
xor r8d, 0xc3660c34
xor eax, r8d
mov r8d, 0x9528e53e
xor r8d, 0x6ad71ac1
xor edx, r8d
and eax, edx
mov r9d, 0xacf3f30
xor r9d, 0xfecf7fed
mov edx, 0x37434a75
xor edx, 0xc8bcb58a
xor r9d, edx
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0x4d322632
xor r9d, 0xb93266ef
mov r8d, eax
and r8d, r9d
or eax, 0xf40040dd
imul eax, r8d
add eax, edx
mov dword [rbp + 0x84], eax
sub rsp, 0x20
call fcn.1400b890e
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x84]
mov qword [rbp + 0x88], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x97], cl
cmp eax, 0x852ed80a
jbe 0x1401d7036
mov cl, byte [rbp + 0x97]
mov al, 1
test cl, 1
mov byte [rbp + 0xab], al
jne 0x1401d717c
jmp 0x1401d8264
mov rcx, qword [rbp + 0x88]
sub rsp, 0x20
call fcn.1400b4230
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp + 0x78], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov r8d, dword [rbp + 0x98]
mov edx, dword [rbp + 0x9c]
mov rcx, qword [rbp + 0x88]
sub rsp, 0x20
call fcn.1400b4355
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x70], rcx
mov cl, byte [rax]
mov dl, 0x94
xor dl, 0x94
mov al, 1
cmp cl, dl
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x78]
sub rsp, 0x20
call fcn.1400b4388
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp + 0x68], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov eax, dword [0x14024dcf8]
xor edx, edx
div dword [0x14024dcfc]
mov ecx, 0x44d1b6ea
xor ecx, 0x3a098201
and eax, ecx
sub eax, 0x80dbca9a
add eax, 0xb0b557cb
add eax, 0x80dbca9a
mov r8d, 0xffffffff
xor r8d, 0xe258c4d9
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe258c4d9
mov r8d, 0xf5d73fb2
xor r8d, 0x178ffb6b
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x70a2c734
jae 0x1401d8391
mov eax, dword [0x14024dd00]
xor eax, 0x66d7b686
mov ecx, dword [0x14024dd04]
xor ecx, 0x48d2f665
and eax, ecx
mov ecx, 0xc4e2155c
xor ecx, 0x186450cb
sub eax, ecx
mov ecx, 0xd3d4a58d
xor ecx, 0x122f626a
and eax, ecx
xor eax, 0xd8eb1ed8
mov dword [rbp + 0x5c], eax
mov cx, 0x1607
xor cx, 0x1679
sub rsp, 0x20
call fcn.140065e7e
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp + 0x5c]
mov dword [rbp + 0x60], edx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x67], cl
cmp eax, 0x53fc5d7c
je 0x1401d7292
mov cl, byte [rbp + 0x67]
mov al, 1
test cl, 1
mov byte [rbp + 0xab], al
jne 0x1401d731f
jmp 0x1401d8264
mov ecx, 0x654
sub rsp, 0x20
call fcn.140065e7e
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov dword [rbp + 0x58], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov ecx, 0xacf
sub rsp, 0x20
call fcn.140065e7e
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov dword [rbp + 0x54], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov eax, dword [0x14024dd08]
mov r8d, dword [0x14024dd0c]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x44415bd6
xor r9d, 0xbbbea429
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x819a4f72
xor ecx, 0x7e65b08d
mov edx, eax
xor edx, ecx
and edx, 0x473fbc89
mov r8d, 0xffffffff
xor r8d, 0x473fbc89
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x473fbc89
mov r8d, 0xd59c5e86
xor r8d, 0x92a3e20f
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x209432c2
xor ecx, 0x6a2f9b8a
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xcc0e5afd
mov edx, 0xffffffff
xor edx, 0xcc0e5afd
and ecx, edx
or eax, ecx
cmp eax, 0xea2b2023
jae 0x1401d839a
mov eax, dword [0x14024dd10]
xor eax, 0xe428c3ec
or eax, dword [0x14024dd14]
imul eax, eax, 0xacb06f7a
mov ecx, 0xb18843f9
xor ecx, 0x2838de82
xor edx, edx
div ecx
xor eax, 0x28c751d4
mov dword [rbp + 0x48], eax
mov eax, 0x7fd5ad09
xor eax, 0xe42f93e4
mov dword [rbp + 0x44], eax
mov ecx, 0x826
sub rsp, 0x20
call fcn.140065e7e
mov rdx, qword [rbp + 0x100]
mov ecx, dword [rbp + 0x44]
add rsp, 0x20
mov r8d, eax
mov eax, dword [rbp + 0x48]
mov dword [rbp + 0x4c], r8d
mov dl, byte [rdx]
mov r8b, 0x30
xor r8b, 0x30
cmp dl, r8b
sete dl
mov byte [rbp + 0x53], dl
cmp eax, ecx
je 0x1401d839a
mov cl, byte [rbp + 0x53]
mov al, 1
test cl, 1
mov byte [rbp + 0xab], al
jne 0x1401d74c7
jmp 0x1401d8264
mov eax, dword [rbp + 0x4c]
mov r10d, dword [rbp + 0x54]
mov r11, qword [rbp + 0x88]
mov esi, dword [rbp + 0x98]
mov r9d, dword [rbp + 0x9c]
mov r8d, dword [rbp + 0x58]
mov edx, dword [rbp + 0x60]
mov rcx, qword [rbp + 0x78]
sub rsp, 0x50
mov dword [rsp + 0x20], esi
mov qword [rsp + 0x28], r11
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x40], 0xcc0020
call fcn.1400b43b3
mov rcx, qword [rbp + 0x100]
add rsp, 0x50
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov rax, qword [rbp + 0xd0]
mov qword [rax], 0
mov cx, 0xaf1b
xor cx, 0xac8b
sub rsp, 0x20
call fcn.14006580e
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov qword [rbp + 0x38], rax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov r8, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0x38]
mov rcx, qword [rbp + 0x70]
sub rsp, 0x20
call fcn.1400b4408
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov dword [rbp + 0x34], eax
mov al, 1
cmp byte [rcx], 0
mov byte [rbp + 0xab], al
jne 0x1401d8264
mov eax, dword [rbp + 0x34]
mov ecx, 0x9191d1c
xor ecx, 0x9191d1c
cmp eax, ecx
je 0x1401d7669
movabs rcx, 0x7b7507395b7261cc
movabs rax, 0x7b7507395b72618c
xor rcx, rax
movabs rdx, 0x46201f9e750b4267
movabs rax, 0x46201f9e750b426f
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, [0x140259ff0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14025a040]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14025a048]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259ff0]
lea r8, [0x14025a01d]
lea r9, [0x14025a012]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x76d1a2b9
call fcn.140012522
mov rax, qword [rbp + 0x100]
add rsp, 0x30
mov al, byte [rax]
mov byte [rbp + 0xab], al
jmp 0x1401d8264
movabs rdx, 0x81be9d0defb1ad65
movabs rax, 0x81be9d0defb1ad75
xor rdx, rax
lea rcx, [rbp + 0x150]
sub rsp, 0x20
call fcn.1401d5db0
mov rcx, qword [rbp + 0xe0]
add rsp, 0x20
mov word [rcx], 0x389
sub rsp, 0x20
call fcn.140064b20
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x28], rcx
cmp byte [rax], 0
jne 0x1401d820c
mov rax, qword [rbp + 0x28]
mov rcx, qword [rax]
mov qword [rbp + 0x110], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x118], rax
lea rcx, [rbp + 0x110]
lea rdx, [rbp + 0x150]
sub rsp, 0x20
call fcn.1401d5ef0
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x100]
mov dword [rbp + 0x24], ecx
cmp byte [rax], 0
jne 0x1401d820c
mov eax, dword [rbp + 0x24]
mov ecx, 0x58bc5dd2
xor ecx, 0x58bc5dd2
cmp eax, ecx
je 0x1401d786b
mov eax, dword [0x14024dd18]
xor edx, edx
div dword [0x14024dd1c]
mov ecx, 0x2fda3a24
xor ecx, 0xe286487f
xor eax, ecx
imul eax, eax, 0x6b52f595
add eax, 0x28dba71b
add eax, 0xd69ae245
mov ecx, 0xb2084f78
xor ecx, 0x9ad3e863
sub eax, ecx
cmp eax, 0xb7063d6
jbe 0x1401d83a3
mov eax, dword [0x14024dd20]
mov edx, dword [0x14024dd24]
mov ecx, eax
or ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xbf7a2645
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xab4aced0
xor edx, 0x1430e895
mov r8d, 0x1bf90587
xor r8d, 0xe406fa78
xor edx, r8d
and ecx, edx
xor eax, 0xffffffff
mov edx, 0x258f4f97
xor edx, 0xda70b068
xor ecx, edx
and eax, ecx
mov ecx, 0x740ca5d4
xor ecx, 0x90eb45bb
or eax, ecx
imul eax, eax, 0x64b195bf
mov dword [rbp + 0x20], eax
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, [0x140259ff0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14025a040]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14025a048]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259ff0]
lea r8, [0x14025a01d]
lea r9, [0x14025a012]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x4781b8c7
call fcn.140012522
mov eax, dword [rbp + 0x20]
add rsp, 0x30
cmp eax, 0xef6e7f69
ja 0x1401d83a3
jmp 0x1401d820c
mov rax, qword [rbp + 0xe8]
mov dword [rax], 0x4e
movabs rdx, 0x1c8cee0b61ea46c0
movabs rax, 0x1c8cee0b61ea46e8
xor rdx, rax
lea rcx, [rbp + 0x128]
sub rsp, 0x20
call fcn.1401d5db0
add rsp, 0x20
movabs rdx, 0xcc4a6e3bc5f343f8
movabs rax, 0xcc4a6e3bc5f343d0
xor rdx, rax
lea rcx, [rbp + 0x128]
sub rsp, 0x20
call fcn.1401d5db0
add rsp, 0x20
mov ecx, 0x6a
sub rsp, 0x20
call fcn.140065e7e
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x100]
mov dword [rbp + 0x1c], ecx
cmp byte [rax], 0
jne 0x1401d820c
mov eax, dword [rbp + 0x1c]
mov dword [rbp + 0x128], eax
mov ecx, 0xa13
sub rsp, 0x20
call fcn.14006580e
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp + 0x10], rcx
cmp byte [rax], 0
jne 0x1401d820c
mov rax, qword [rbp + 0x10]
movabs rcx, 0x151c3c1cf8d5976f
movabs rdx, 0x151c3c1cf8d5976f
xor rcx, rdx
cmp rax, rcx
je 0x1401d7a47
mov ecx, dword [0x14024dd28]
mov edx, dword [0x14024dd2c]
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
add eax, 0x7934102b
mov r8d, 0xffffffff
xor r8d, 0x39bceca2
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x55a6f884
xor r8d, 0xaa59077b
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x39bceca2
or eax, 0x39bceca2
imul eax, edx
add eax, ecx
mov ecx, 0x53f74bc8
xor ecx, 0x9ae32f9
xor eax, ecx
cmp eax, 0xff2d3f0e
je 0x1401d83ac
mov rcx, qword [rbp + 0x10]
mov eax, dword [0x14024dd30]
xor eax, 0x2170e868
mov r9d, dword [0x14024dd34]
xor r9d, 0x910970e9
mov edx, eax
xor edx, 0xffffffff
mov r8d, r9d
and r8d, edx
mov r10d, r9d
xor r10d, 0xffffffff
mov edx, eax
and edx, r10d
imul edx, r8d
mov r8d, eax
and r8d, r9d
or eax, r9d
imul eax, r8d
add eax, edx
xor eax, 0x8965c521
mov r8d, 0xbc67512d
xor edx, edx
div r8d
sub eax, 0x40dd50e5
mov dword [rbp + 0xc], eax
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140012b72
mov eax, dword [rbp + 0xc]
add rsp, 0x20
cmp eax, 0x622b9eab
je 0x1401d79c4
jmp 0x1401d820c
lea rcx, [rbp + 0x128]
add rcx, 8
mov qword [rbp - 8], rcx
mov edx, 0x20
sub rsp, 0x20
call fcn.1401d5db0
add rsp, 0x20
mov ecx, 0x964
sub rsp, 0x20
call fcn.14006580e
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp], rcx
cmp byte [rax], 0
jne 0x1401d820c
mov rax, qword [rbp]
cmp rax, 0
je 0x1401d7ab9
mov rcx, qword [rbp]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x1401d820c
mov ecx, dword [0x14024dd38]
mov edx, dword [0x14024dd3c]
mov eax, ecx
xor eax, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
and eax, 0x69f2b9ac
xor ecx, 0x69f2b9ac
or eax, ecx
mov ecx, eax
and ecx, 0x3490157b
mov edx, 0x29a34a2a
xor edx, 0xd65cb5d5
xor ecx, edx
add eax, 0x3490157b
add eax, 1
add eax, ecx
mov ecx, 0x12d612a1
xor ecx, 0x5ed34187
xor edx, edx
div ecx
mov ecx, 0xee556f24
xor ecx, 0x1c75686f
cmp eax, ecx
jae 0x1401d83b5
mov eax, dword [0x14024dd40]
mov ecx, 0x9b40284a
xor ecx, 0x6dcc2af8
xor eax, ecx
xor edx, edx
div dword [0x14024dd44]
mov ecx, eax
and ecx, 0x1a0c4290
shl ecx, 1
mov edx, 0xdb83dc54
xor edx, 0xc18f9ec4
add eax, edx
sub eax, ecx
imul eax, eax, 0x230b6bd3
sub eax, 0xe14e2c21
mov dword [rbp - 0x14], eax
mov ecx, 0x235
sub rsp, 0x20
call fcn.140065e7e
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov edx, eax
mov eax, dword [rbp - 0x14]
mov dword [rbp - 0x10], edx
mov cl, byte [rcx]
mov dl, 0xe2
xor dl, 0xe2
cmp cl, dl
sete cl
mov byte [rbp - 9], cl
cmp eax, 0x36bbe02c
jbe 0x1401d83b5
mov al, byte [rbp - 9]
test al, 1
jne 0x1401d7bb1
jmp 0x1401d820c
mov eax, dword [rbp - 0x10]
mov dword [rbp + 0x140], eax
mov ecx, 0xa2a
sub rsp, 0x20
call fcn.14006580e
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x20], rcx
cmp byte [rax], 0
jne 0x1401d820c
mov rax, qword [rbp - 0x20]
cmp rax, 0
je 0x1401d7c0b
mov rcx, qword [rbp - 0x20]
xor eax, eax
mov edx, eax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x1401d820c
mov rax, qword [rbp - 8]
mov rcx, qword [0x14025a6a0]
mov rdx, qword [rcx]
mov qword [rax], rdx
mov rcx, qword [rcx + 8]
mov qword [rax + 8], rcx
mov ecx, 0xb9d
sub rsp, 0x20
call fcn.14006580e
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x1401d820c
mov rax, qword [rbp - 0x28]
movabs rcx, 0x8cd699ae03ff82bf
movabs rdx, 0x8cd699ae03ff82bf
xor rcx, rdx
cmp rax, rcx
je 0x1401d7c9e
mov rcx, qword [rbp - 0x28]
movabs rdx, 0x17903b3118c1e398
movabs rax, 0x17903b3118c1e398
xor rdx, rax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x1401d820c
mov dword [rbp + 0x144], 4
mov ecx, 0x126
sub rsp, 0x20
call fcn.14006580e
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x30], rcx
cmp byte [rax], 0
jne 0x1401d820c
mov rax, qword [rbp - 0x30]
cmp rax, 0
je 0x1401d7d0c
mov rcx, qword [rbp - 0x30]
movabs rdx, 0xeaff4ce902c97487
movabs rax, 0xeaff4ce902c97487
xor rdx, rax
sub rsp, 0x20
call fcn.140012b72
add rsp, 0x20
jmp 0x1401d820c
mov rax, qword [rbp + 0xd0]
mov rcx, qword [rbp + 0xe8]
mov qword [rbp + 0x148], rcx
mov rcx, qword [rax]
mov rdx, qword [rbp + 0x160]
lea r8, [rbp + 0x150]
lea r9, [rbp + 0x128]
sub rsp, 0x20
call fcn.1400b4499
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x100]
mov dword [rbp - 0x34], ecx
cmp byte [rax], 0
jne 0x1401d820c
mov eax, dword [rbp - 0x34]
cmp eax, 0
je 0x1401d7de4
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, [0x140259ff0]
mov qword [rcx + 0x10], rax
mov rax, qword [0x14025a040]
mov qword [rcx + 0x18], rax
mov rax, qword [0x14025a048]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140259ff0]
lea r8, [0x14025a01d]
lea r9, [0x14025a012]
sub rsp, 0x30
mov qword [rsp + 0x20], 0x5673921d
call fcn.140012522
add rsp, 0x30
jmp 0x1401d820c
mov qword [rbp + 0x120], 0
mov rcx, qword [rbp + 0x160]
lea rdx, [rbp + 0x120]
sub rsp, 0x20
call fcn.1400b7250
add rsp, 0x20
mov rax, qword [rbp + 0x100]
mov al, byte [rax]
mov cl, 0x28
xor cl, 0x28
cmp al, cl
jne 0x1401d820c
mov rcx, qword [rbp + 0x120]
sub rsp, 0x20
call fcn.1400b2890
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x40], rcx
cmp byte [rax], 0
jne 0x1401d820c
mov rcx, qword [rbp + 0x120]
sub rsp, 0x20
call fcn.1400b29cc
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x100]
mov qword [rbp - 0x48], rcx
cmp byte [rax], 0
jne 0x1401d820c
mov eax, dword [0x14024dd48]
or eax, dword [0x14024dd4c]
mov ecx, 0x9909ef0e
xor ecx, 0xeca80d76
and eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0xc636e495
xor eax, 0xc636e495
mov edx, 0x78792404
xor edx, 0x7b4c9e57
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xc259e345
xor ecx, 0x300b10cb
imul eax, ecx
cmp eax, 0x2fd3c193
je 0x1401d83be
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x14024dd50]
sub eax, dword [0x14024dd54]
mov edx, 0xab77510b
xor edx, 0x5488aef4
mov r8d, eax
xor r8d, edx
and r8d, 0x90cd7c2b
mov r9d, 0xffffffff
xor r9d, 0x90cd7c2b
mov edx, eax
and edx, r9d
imul edx, r8d
mov r9d, 0x78aa8db8
xor r9d, 0xe867f193
mov r8d, eax
and r8d, r9d
mov r9d, 0xbf59c0d7
xor r9d, 0x2f94bcfc
or eax, r9d
imul eax, r8d
add eax, edx
mov r8d, 0x80b116aa
xor edx, edx
div r8d
add eax, 0x3f87dbf6
movabs rdx, 0xbbc68194f0fc4d2b
movabs r8, 0xbbc68194f0fc4d2b
xor rdx, r8
cmp rcx, rdx
setl cl
mov byte [rbp - 0x49], cl
cmp eax, 0xae2940ee
ja 0x1401d7ec9
mov al, byte [rbp - 0x49]
test al, 1
jne 0x1401d7f7b
jmp 0x1401d7fbf
mov rcx, qword [rbp - 0x48]
movabs rdx, 0x79a2ddc9a674fbed
movabs rax, 0x79a2ddc9a674fbed
xor rdx, rax
movabs r8, 0xd66a5eeebbf39108
movabs rax, 0xa995a111440c6ef7
xor r8, rax
sub rsp, 0x20
call fcn.14000db87
add rsp, 0x20
jmp 0x1401d820c
mov rcx, qword [rbp + 0xf0]
mov rdx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.140018c28
mov rdx, qword [rbp + 0xf0]
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x100]
add rsp, 0x20
mov r8, qword [rdx]
mov rcx, qword [rcx]
add rcx, 8
lea rdx, [0x14025a060]
cmp r8, 0
cmove rcx, rdx
mov qword [rbp - 0x60], rcx
mov cl, byte [rax]
mov dl, 0xf4
xor dl, 0xf4
xor eax, eax
cmp cl, dl
mov qword [rbp - 0x58], rax
jne 0x1401d820c
mov rax, qword [rbp - 0x58]
mov qword [rbp - 0x68], rax
mov eax, dword [0x14024dd58]
or eax, dword [0x14024dd5c]
xor eax, 0x4571109c
mov ecx, eax
and ecx, 0x66256066
shl ecx, 1
mov edx, 0xbcdeafef
xor edx, 0xdafbcf89
add eax, edx
sub eax, ecx
mov ecx, 0x6b4eff8
xor edx, edx
div ecx
cmp eax, 0x1240d582
ja 0x1401d83c7
mov rcx, qword [rbp - 0x68]
mov rdx, qword [rbp - 0x48]
mov eax, dword [0x14024dd60]
mov r9d, dword [0x14024dd64]
xor r9d, 0xffffffff
mov r8d, eax
xor r8d, r9d
and r8d, eax
mov eax, r8d
and eax, 0x80d181f4
mov r9d, 0xba71274a
xor r9d, 0x3aa0a6be
or r8d, r9d
add eax, r8d
mov r8d, 0x8e58f2cf
xor r8d, 0x837bb5c9
imul eax, r8d
mov r8d, 0x551f87f8
xor r8d, 0x3bf7964a
xor eax, r8d
cmp rcx, rdx
sete cl
mov byte [rbp - 0x69], cl
cmp eax, 0x10d6db10
je 0x1401d8065
mov al, byte [rbp - 0x69]
test al, 1
jne 0x1401d8136
jmp 0x1401d80e7
mov rax, qword [rbp - 0x68]
mov rcx, qword [rbp - 0x60]
mov rdx, qword [rbp - 0x40]
mov dl, byte [rdx + rax]
mov byte [rcx + rax], dl
movabs rcx, 0x2ec61a4e3ba663f3
movabs rdx, 0x2ec61a4e3ba663f3
xor rcx, rdx
movabs rdx, 0x3cc7314212449e70
movabs r8, 0x3cc7314212449e71
xor rdx, r8
sub rcx, rdx
sub rax, rcx
mov qword [rbp - 0x58], rax
jmp 0x1401d801e
mov rcx, qword [rbp + 0x120]
sub rsp, 0x20
call fcn.1400b29ed
add rsp, 0x20
mov rax, qword [rbp + 0x100]
mov al, byte [rax]
mov cl, 0xd7
xor cl, 0xd7
cmp al, cl
jne 0x1401d820c
mov rcx, qword [rbp + 0x120]
sub rsp, 0x20
call fcn.1400b2a0e
add rsp, 0x20
mov rax, qword [rbp + 0x100]
cmp byte [rax], 0
jne 0x1401d820c
mov rdx, qword [rbp + 0x68]
mov rcx, qword [rbp + 0x78]
sub rsp, 0x20
call fcn.1400b4388
add rsp, 0x20
mov rax, qword [rbp + 0x100]
cmp byte [rax], 0
jne 0x1401d820c
mov rcx, qword [rbp + 0x70]
sub rsp, 0x20
call fcn.1400b44d8
add rsp, 0x20
mov rax, qword [rbp + 0x100]
cmp byte [rax], 0
jne 0x1401d820c
mov rcx, qword [rbp + 0x78]
sub rsp, 0x20
call fcn.1400b44d8
add rsp, 0x20
mov rax, qword [rbp + 0x100]
mov al, byte [rax]
mov cl, 0x6b
xor cl, 0x6b
cmp al, cl
jne 0x1401d820c
mov rdx, qword [rbp + 0x88]
mov rcx, qword [rbp + 0xa0]
sub rsp, 0x20
call fcn.1400b892f
add rsp, 0x20
mov rcx, qword [rbp + 0x100]
mov rax, qword [rbp + 0xd0]
mov dl, byte [rcx]
mov byte [rbp - 0x6c], dl
mov byte [rcx], 0
mov rcx, qword [rax]
sub rsp, 0x20
call fcn.1400b44f9
mov rcx, qword [rbp + 0x100]
add rsp, 0x20
mov al, byte [rbp - 0x6c]
mov cl, byte [rcx]
mov dl, 7
xor dl, 7
mov r8b, 1
mov byte [rbp - 0x6b], r8b
cmp cl, dl
mov byte [rbp - 0x6a], al
je 0x1401d825b
mov al, byte [rbp - 0x6b]
mov byte [rbp - 0x6a], al
mov al, byte [rbp - 0x6a]
mov byte [rbp + 0xab], al
mov al, byte [rbp + 0xab]
mov byte [rbp - 0x6d], al
mov eax, dword [0x14024dd68]
xor eax, 0xa175e068
xor eax, dword [0x14024dd6c]
xor eax, 0xda0478a3
mov ecx, 0xa93b1018
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x326b98d9
mov r8d, 0xffffffff
xor r8d, 0x326b98d9
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x326b98d9
or eax, 0x326b98d9
imul eax, edx
add eax, ecx
cmp eax, 0xcd892c15
jae 0x1401d83d0
mov rax, qword [rbp + 0x100]
mov rcx, qword [rbp + 0xb0]
mov edx, dword [0x14024dd70]
mov r8d, dword [0x14024dd74]
and edx, edx
xor edx, 0xffffffff
and r8d, r8d
mov r9d, 0xc4a6403f
xor r9d, 0x3b59bfc0
xor r8d, r9d
and edx, r8d
mov r8d, 0xff5e52ca
xor r8d, 0xa1ad35
xor edx, r8d
add edx, 0x8063df0f
and edx, 0x934b5ff5
add edx, 0xd5f527cd
mov dword [rbp - 0x74], edx
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401d6c43
mov rcx, qword [rbp + 0x100]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
cmp byte [rcx], 0
sete cl
mov byte [rbp - 0x6e], cl
cmp eax, 0x417830db
jb 0x1401d83d0
mov al, byte [rbp - 0x6e]
test al, 1
jne 0x1401d8362
jmp 0x1401d836e
mov rax, qword [rbp + 0x100]
mov cl, byte [rbp - 0x6d]
mov byte [rax], cl
mov rax, qword [rbp + 0xc8]
lea rsp, [rbp + 0x168]
pop rsi
pop rbp
ret
push rdi
out 0x6a, eax
jmp 0x1401d6e81
jns 0x1401d83db
invalid
or dword [rdx - 0x71667f5], ebx
out dx, al
invalid
pop r8
add byte [rcx + rbp*8 - 0x70], ah
invalid
invalid
movabs dword [0xfffff60fe914ff58], eax
xchg edi, eax
and dl, byte [rdi - 0x17]
idiv edi
jmp [rcx - 0x5a]
imul esp, dword [rsi + 0x2e97244], 0xffffffb
movabs eax, dword [0x65fffffc95e9e996]
xchg edx, eax
pop fs
xchg esi, eax
jmp 0x1401a19b8
xchg edx, eax
test eax, 0xfef0e9b8
invalid
add byte [rax], 0
add byte [rax], al
sub rsp, 0x28
mov qword [rsp + 0x20], rcx
call fcn.1401df930
mov rcx, qword [rsp + 0x20]
add rsp, 0x28
jmp 0x1401d8400
sub rsp, 0x58
mov qword [rsp + 0x40], rcx
call fcn.1401df930
mov rcx, qword [rsp + 0x40]
add rax, 0x50
mov qword [rsp + 0x48], rax
mov rax, rcx
add rax, 0x10
mov qword [rsp + 0x50], rax
mov rcx, qword [rcx + 0x10]
call fcn.1401d8680
test al, 1
jne 0x1401d843e
jmp 0x1401d845d
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
call fcn.14015ffd0
mov rax, qword [rsp + 0x50]
mov rcx, qword [rax]
mov edx, 4
call fcn.14000f52f
mov rax, qword [rsp + 0x40]
mov rcx, rax
add rcx, 0x18
mov qword [rsp + 0x38], rcx
mov rcx, qword [rax + 0x18]
call fcn.1401d8680
test al, 1
jne 0x1401d8484
jmp 0x1401d84c3
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
call fcn.14013b2e0
mov rax, qword [rsp + 0x48]
cmp byte [rax], 0
jne 0x1401d85fc
mov rax, qword [rsp + 0x38]
mov rcx, qword [rax]
movabs rdx, 0x6358b3bf4f094595
movabs rax, 0x6358b3bf4f09459d
xor rdx, rax
call fcn.14000f52f
mov rax, qword [rsp + 0x40]
mov rcx, rax
add rcx, 0x20
mov qword [rsp + 0x30], rcx
mov rcx, qword [rax + 0x20]
call fcn.1401d8680
test al, 1
jne 0x1401d84ea
jmp 0x1401d85fc
mov eax, dword [0x14024ddb0]
mov ecx, dword [0x14024ddb4]
xor ecx, 0xffffffff
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
add eax, 0x2f905d74
xor eax, 0xa3e75b44
imul eax, eax, 0x581b9d24
cmp eax, 0x1b03a5bb
jb 0x1401d866d
mov ecx, dword [0x14024ddb8]
mov r8d, dword [0x14024ddbc]
xor r8d, 0x2645db71
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, r8d
xor edx, 0xffffffff
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
mov r8d, 0x4fe8a7dd
xor r8d, 0xb0175822
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xab6896e4
xor edx, edx
div ecx
mov ecx, 0x565446df
xor ecx, 0xfd28194
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0x30]
and ecx, 0xb1c193cb
mov dword [rsp + 0x28], ecx
mov rcx, qword [rax]
call fcn.1401d5500
mov rcx, qword [rsp + 0x48]
mov eax, dword [rsp + 0x28]
mov cl, byte [rcx]
mov dl, 0x29
xor dl, 0x29
cmp cl, dl
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x3eec10ad
je 0x1401d866d
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x1401d85d8
jmp 0x1401d85fc
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
movabs rdx, 0x49cbe5b1483a60f
movabs rax, 0x49cbe5b1483a607
xor rdx, rax
call fcn.14000f52f
mov ecx, dword [0x14024ddc0]
mov eax, dword [0x14024ddc4]
xor eax, 0x266941a8
or ecx, eax
mov eax, ecx
and eax, 0xbc689284
or ecx, 0xbc689284
add eax, ecx
mov ecx, 0x92cc365c
xor edx, edx
div ecx
mov ecx, 0x3d901fbc
xor edx, edx
div ecx
cmp eax, 0x5c19511c
ja 0x1401d8676
mov eax, dword [0x14024ddc8]
xor eax, 0x4733a041
xor edx, edx
div dword [0x14024ddcc]
sub eax, 0x6b4154ce
sub eax, 0xd297f742
add eax, 0xeb594508
cmp eax, 0x9d5c1af5
jbe 0x1401d863b
add rsp, 0x58
ret
xchg ebx, eax
sub byte [rdi - 0x15817], bl
call rbx
invalid
rol dword [rdx + 0x27], cl
mov esp, 0xffffbce9
call qword [rax + 0x58ec8348]
sub rsp, 0x58