Function at 0x1401db0a0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x488
lea rbp, [rsp + 0x80]
mov qword [rbp + 0xc0], rcx
mov eax, 0x10
mov qword [rbp + 0x118], rax
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x150], rax
mov eax, 0x30
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0x148], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0x158], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0xc8], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0xd0], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0xd8], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0xe0], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0xe8], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0xf0], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0xf8], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0x100], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0x108], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0x110], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x118]
mov rcx, rsp
mov qword [rbp + 0x120], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x128], rax
sub rsp, 0x20
call fcn.1401dd390
add rsp, 0x20
mov qword [rbp + 0x168], rax
add rax, 0x50
mov qword [rbp + 0x130], rax
mov ecx, 0x10
mov edx, 8
sub rsp, 0x20
call fcn.140015160
add rsp, 0x20
mov qword [rbp + 0x138], rax
mov edx, 4
sub rsp, 0x20
mov rcx, rdx
call fcn.140015160
mov rcx, qword [rbp + 0x138]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x150]
mov qword [rcx + 8], rdx
mov qword [rbp + 0x400], rcx
add rax, 8
mov qword [rbp + 0x140], rax
lea rcx, [rbp + 0x3d8]
mov edx, 0x28
sub rsp, 0x20
call fcn.1401da41a
add rsp, 0x20
lea rcx, [rbp + 0x3b0]
mov edx, 0x28
sub rsp, 0x20
call fcn.1401da41a
mov rcx, qword [rbp + 0x148]
add rsp, 0x20
mov edx, 0x28
sub rsp, 0x20
call fcn.1401da41a
add rsp, 0x20
lea rcx, [rbp + 0x390]
mov edx, 0x20
sub rsp, 0x20
call fcn.1401da41a
mov rax, qword [rbp + 0x150]
add rsp, 0x20
movabs rcx, 0x1226315ffa6639ad
movabs rdx, 0x1226315ffa6639ac
xor rcx, rdx
mov qword [rax], rcx
mov ecx, 1
mov r8d, 8
sub rsp, 0x20
mov rdx, r8
call fcn.14001d300
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x150]
mov qword [rax + 8], rcx
movabs rcx, 0x1214aeb91683043d
movabs rax, 0x1214aeb916830425
xor rcx, rax
movabs rdx, 0xd5d865e09f37b6e3
movabs rax, 0xd5d865e09f37b6eb
xor rdx, rax
sub rsp, 0x20
call fcn.14001ec20
mov rcx, qword [rbp + 0x158]
add rsp, 0x20
mov qword [rbp + 0x160], rax
mov word [rcx], 0xdc
sub rsp, 0x20
call fcn.140070140
mov rcx, qword [rbp + 0x168]
add rsp, 0x20
mov qword [rbp + 0x170], rax
xor eax, eax
cmp byte [rcx + 0x50], 0
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0x170]
mov rdx, qword [rax]
mov qword [rbp + 0x358], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x360], rax
lea rdx, [rbp + 0x358]
sub rsp, 0x20
call fcn.14001fd14
mov rcx, qword [rbp + 0xd8]
mov rax, qword [rbp + 0x160]
add rsp, 0x20
mov rdx, qword [rcx]
mov rcx, qword [rcx + 8]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov ecx, 0x3d1
sub rsp, 0x20
call fcn.1400704f9
mov rcx, qword [rbp + 0x130]
add rsp, 0x20
mov edx, eax
mov rax, qword [rbp + 0x160]
mov dword [rax + 0x10], edx
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov ecx, 0x50
sub rsp, 0x20
call fcn.1400704f9
mov rcx, qword [rbp + 0x130]
add rsp, 0x20
mov dword [rbp + 0xbc], eax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov ecx, 0x338
sub rsp, 0x20
call fcn.1400704f9
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x130]
mov dword [rbp + 0xb8], ecx
mov cl, byte [rax]
mov dl, 3
xor dl, 3
xor eax, eax
cmp cl, dl
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov eax, dword [rbp + 0xb8]
mov ecx, dword [rbp + 0xbc]
movsxd rcx, ecx
movsxd rdx, eax
lea r8, [rbp + 0x388]
sub rsp, 0x20
call fcn.1401da190
add rsp, 0x20
test al, 1
jne 0x1401db524
jmp 0x1401db549
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
xor eax, eax
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jmp 0x1401dc4d2
mov rax, qword [rbp + 0x388]
mov qword [rbp + 0xb0], rax
movabs rcx, 0x6a1cb95f4ab8e2be
movabs rdx, 0x95e346a0cab8e2be
xor rcx, rdx
add rax, rcx
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x1401db5a9
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
xor eax, eax
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jmp 0x1401dc4d2
mov ecx, 0x65f
sub rsp, 0x20
call fcn.1400704f9
add rsp, 0x20
mov ecx, eax
mov rax, qword [rbp + 0x130]
mov dword [rbp + 0xac], ecx
mov cl, byte [rax]
mov dl, 0x99
xor dl, 0x99
xor eax, eax
cmp cl, dl
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov rcx, qword [rbp + 0xb0]
mov eax, dword [rbp + 0xac]
movsxd rdx, eax
lea r8, [rbp + 0x380]
sub rsp, 0x20
call fcn.1401da190
add rsp, 0x20
test al, 1
jne 0x1401db61d
jmp 0x1401db642
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
xor eax, eax
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jmp 0x1401dc4d2
mov rax, qword [rbp + 0x380]
mov qword [rbp + 0xa0], rax
add rax, 0xffffffff80000000
movabs rcx, 0x5edbfb902375891c
movabs rdx, 0xa124046f2375891c
xor rcx, rdx
cmp rax, rcx
jae 0x1401db69b
sub rsp, 0x20
call fcn.140008bc6
add rsp, 0x20
xor eax, eax
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jmp 0x1401dc4d2
mov eax, dword [str.e_n_r]
mov r8d, dword [0x140223294]
xor r8d, 0x51e0077c
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0xa6af277a
xor r9d, 0x5950d885
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
and eax, 0xde11e868
and eax, 0x2dca32fc
mov ecx, 0xce0bec48
xor edx, edx
div ecx
cmp eax, 0x86fd87ac
ja 0x1401dcaf8
mov rcx, qword [rbp + 0x160]
mov eax, dword [0x140223298]
mov edx, dword [0x14022329c]
add eax, 0xd834374d
add eax, edx
mov edx, 0x37e07772
xor edx, 0xefd4403f
sub eax, edx
mov r8d, 0x3f95c784
xor r8d, 0xc06a387b
mov edx, eax
xor edx, r8d
mov r8d, 0xd3b801d5
xor r8d, 0x309d26a5
and edx, r8d
mov r8d, 0xffffffff
xor r8d, 0xe3252770
and eax, r8d
sub eax, edx
mov r8d, 0x658d70ac
xor r8d, 0xce4ba2d2
xor edx, edx
div r8d
mov r8d, 0x8c50b84e
xor edx, edx
div r8d
mov rdx, qword [rbp + 0xa0]
mov r8d, eax
mov rax, qword [rbp + 0x140]
mov dword [rbp + 0x8c], r8d
mov dword [rcx + 0x14], edx
mov rax, qword [rax]
mov qword [rax + 8], rcx
mov ax, 0x37f7
xor ax, 0x3375
mov word [rbp + 0x37e], ax
lea rcx, [rbp + 0x37e]
sub rsp, 0x20
call fcn.140070140
mov rcx, qword [rbp + 0x130]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x8c]
mov qword [rbp + 0x90], rdx
cmp byte [rcx], 0
sete cl
mov byte [rbp + 0x9f], cl
cmp eax, 0x79264279
ja 0x1401dcaf8
mov cl, byte [rbp + 0x9f]
xor eax, eax
test cl, 1
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401db810
jmp 0x1401dc4d2
mov rax, qword [rbp + 0x90]
mov rcx, qword [0x14022dc48]
mov rdx, qword [rcx]
mov qword [rbp + 0x338], rdx
mov rcx, qword [rcx + 8]
mov qword [rbp + 0x340], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x328], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x330], rax
lea rcx, [rbp + 0x348]
lea rdx, [rbp + 0x338]
lea r8, [rbp + 0x328]
sub rsp, 0x20
call fcn.1401da480
mov rcx, qword [rbp + 0x130]
add rsp, 0x20
mov rax, qword [rbp + 0x348]
mov qword [rbp + 0x78], rax
mov rax, qword [rbp + 0x350]
mov qword [rbp + 0x80], rax
xor eax, eax
cmp byte [rcx], 0
mov rcx, rax
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
movabs rcx, 0x9687190efdbb6ea4
movabs rax, 0x9687190efdbb6ebc
xor rcx, rax
movabs rdx, 0x6ba9da37f8d78cde
movabs rax, 0x6ba9da37f8d78cd6
xor rdx, rax
sub rsp, 0x20
call fcn.14001ec20
add rsp, 0x20
mov qword [rbp + 0x60], rax
mov ecx, 2
mov edx, 0x10
mov r8d, 8
sub rsp, 0x20
call fcn.14001d300
add rsp, 0x20
mov qword [rbp + 0x68], rax
mov word [rbp + 0x37c], 0xb3b
lea rcx, [rbp + 0x37c]
sub rsp, 0x20
call fcn.140070140
mov rdx, qword [rbp + 0x130]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x70], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov rcx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x70]
mov rdx, qword [rax]
mov qword [rbp + 0x318], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x320], rax
lea rdx, [rbp + 0x318]
sub rsp, 0x20
call fcn.14001fd14
mov rdx, qword [rbp + 0xe0]
mov rax, qword [rbp + 0x68]
mov rcx, qword [rbp + 0xc8]
add rsp, 0x20
mov r8, qword [rdx]
mov rdx, qword [rdx + 8]
mov qword [rax + 8], r8
mov qword [rax + 0x10], rdx
mov word [rcx], 0x2fd
sub rsp, 0x20
call fcn.140070140
mov rdx, qword [rbp + 0x130]
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x58], rcx
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov rax, qword [rbp + 0x58]
mov rcx, qword [rax]
mov qword [rbp + 0x2f8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x300], rax
lea rcx, [rbp + 0x308]
lea rdx, [rbp + 0x2f8]
sub rsp, 0x20
call fcn.14001fd14
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, qword [rbp + 0x308]
mov rcx, qword [rbp + 0x310]
mov qword [rax + 0x18], rdx
mov qword [rax + 0x20], rcx
mov qword [rbp + 0x2d0], 2
mov qword [rbp + 0x2d8], rax
lea rcx, [rbp + 0x2e0]
lea rdx, [rbp + 0x2d0]
sub rsp, 0x20
call fcn.1401da3ad
mov rcx, qword [rbp + 0x60]
mov rdx, qword [rbp + 0x130]
mov rax, qword [rbp + 0x80]
add rsp, 0x20
mov r8, qword [rbp + 0x2e0]
mov qword [rcx], r8
mov r8, qword [rbp + 0x2e8]
mov qword [rcx + 8], r8
mov r8, qword [rbp + 0x2f0]
mov qword [rcx + 0x10], r8
xor ecx, ecx
cmp byte [rdx], 0
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov rdx, qword [rbp + 0xe8]
mov rax, qword [rbp + 0x150]
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x2c0]
sub rsp, 0x20
call fcn.14017f0e0
mov rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x80]
add rsp, 0x20
mov r8, qword [rbp + 0x2c0]
mov qword [rbp + 0x48], r8
mov r8, qword [rbp + 0x2c8]
mov qword [rbp + 0x50], r8
cmp byte [rdx], 0
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov r8, qword [rbp + 0x80]
mov rcx, qword [rbp + 0xf0]
mov rax, qword [rbp + 0x50]
mov rdx, qword [rbp + 0x48]
mov r9, qword [rbp + 0x78]
mov qword [rcx], r9
mov qword [rcx + 8], r8
mov qword [rbp + 0x2b0], rdx
mov qword [rbp + 0x2b8], rax
lea rdx, [rbp + 0x2b0]
mov r8d, 1
sub rsp, 0x20
call fcn.1401782fd
mov rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x40], r8
mov dl, byte [rdx]
mov r8b, 0x2f
xor r8b, 0x2f
cmp dl, r8b
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov ax, 0x90da
xor ax, 0x96d9
mov word [rbp + 0x37a], ax
lea rcx, [rbp + 0x37a]
sub rsp, 0x20
call fcn.140070140
mov rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov r8, rax
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x38], r8
cmp byte [rdx], 0
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov rcx, qword [rbp + 0xf8]
mov rax, qword [rbp + 0x38]
mov rdx, qword [rax]
mov qword [rbp + 0x2a0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x2a8], rax
lea rdx, [rbp + 0x2a0]
sub rsp, 0x20
call fcn.14001fd14
mov rax, qword [rbp + 0xf8]
mov rcx, qword [rbp + 0xd0]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0x28], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0x30], rax
mov edx, 0x10
sub rsp, 0x20
call fcn.1401da41a
mov rcx, qword [rbp + 0xc0]
mov r10, qword [rbp + 0x28]
mov r8, qword [rbp + 0x30]
mov rax, qword [rbp + 0xd0]
mov rdx, qword [rbp + 0x40]
mov r9, qword [rbp + 0x60]
add rsp, 0x20
lea r11, [0x1401da570]
mov qword [rax], r11
mov qword [rax + 8], 0
mov rcx, qword [rcx]
add rcx, 0x18
mov qword [rbp + 0x290], r10
mov qword [rbp + 0x298], r8
mov r8, qword [rax]
mov qword [rbp + 0x280], r8
mov rax, qword [rax + 8]
mov qword [rbp + 0x288], rax
lea r8, [rbp + 0x290]
lea rax, [rbp + 0x280]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140177f90
mov rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x60]
add rsp, 0x30
mov rax, qword [rbp + 0x80]
cmp byte [rdx], 0
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
lea rcx, [rbp + 0x368]
mov edx, 0x10
sub rsp, 0x20
call fcn.1401da41a
mov rdx, qword [rbp + 0x78]
mov rcx, qword [rbp + 0x100]
mov rax, qword [rbp + 0x80]
add rsp, 0x20
lea r8, [0x1401daff6]
mov qword [rbp + 0x368], r8
mov qword [rbp + 0x370], 0
mov qword [rcx], rdx
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0x368]
mov qword [rbp + 0x270], rax
mov rax, qword [rbp + 0x370]
mov qword [rbp + 0x278], rax
lea rdx, [rbp + 0x270]
lea r8, [rbp + 0x3d8]
sub rsp, 0x20
call fcn.140181700
mov rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x80]
add rsp, 0x20
cmp byte [rdx], 0
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
sub rsp, 0x20
lea rcx, [rbp + 0x3b0]
mov qword [rbp + 0x10], rcx
lea rdx, [rbp + 0x3d8]
call fcn.140069de6
mov rdx, qword [rbp + 0x10]
mov rcx, qword [rbp + 0x148]
call fcn.140069de6
mov rax, qword [rbp + 0x148]
mov rcx, qword [rbp + 0x130]
add rsp, 0x20
mov rdx, rax
add rdx, 0x20
mov qword [rbp + 0x18], rdx
mov al, byte [rax + 0x20]
test al, al
sete al
mov cl, byte [rcx]
test cl, cl
setne dl
mov byte [rbp + 0x27], dl
mov cl, dl
and cl, al
add al, dl
sub al, cl
test al, 1
jne 0x1401dbffd
mov eax, dword [0x1402232a0]
mov ecx, 0x422d0750
xor ecx, 0x7a124499
xor eax, ecx
mov ecx, dword [0x1402232a4]
xor ecx, 0xffffffff
mov edx, 0x328e87eb
xor edx, 0x328e87eb
mov r8d, 0x380dac13
xor r8d, 0x380dac12
sub edx, r8d
sub ecx, edx
sub eax, ecx
xor eax, 0x5cad5273
mov ecx, 0x71fcd47a
xor ecx, 0x5c8214fb
xor edx, edx
div ecx
mov ecx, 0x54e99e5e
xor ecx, 0xab1661a1
mov edx, eax
xor edx, ecx
and edx, 0xa1b3e24a
mov r8d, 0xffffffff
xor r8d, 0xa1b3e24a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xa1b3e24a
or eax, 0xa1b3e24a
imul eax, edx
add eax, ecx
cmp eax, 0x92fce552
jbe 0x1401dcb01
mov ecx, dword [0x1402232a8]
sub ecx, dword [0x1402232ac]
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x8459296
or eax, edx
and ecx, 0x8459296
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xffffffff
xor ecx, 0xc1e98941
add eax, ecx
add eax, 1
mov r8d, 0xffffffff
xor r8d, 0x3bf9a6e2
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x8ba24f53
xor r8d, 0x745db0ac
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x3bf9a6e2
mov r8d, 0xb0aa6b3
xor r8d, 0x30f30051
or eax, r8d
imul eax, edx
add eax, ecx
mov dword [rbp + 8], eax
lea rcx, [rbp + 0x238]
mov edx, 0x20
sub rsp, 0x20
call fcn.1401da41a
mov rcx, qword [rbp + 0x130]
mov eax, dword [rbp + 8]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x19
xor dl, 0x19
cmp cl, dl
sete cl
mov byte [rbp + 0xf], cl
cmp eax, 0x1c4c00c4
jb 0x1401dcb01
mov al, byte [rbp + 0xf]
test al, 1
jne 0x1401dbf7c
jmp 0x1401dbf77
jmp 0x1401dc40a
lea rcx, [rbp + 0x218]
mov edx, 0x20
sub rsp, 0x20
call fcn.1401da41a
mov rcx, qword [rbp + 0x148]
add rsp, 0x20
lea rdx, [rbp + 0x218]
sub rsp, 0x20
call fcn.14006afb1
mov rax, qword [rbp + 0x130]
add rsp, 0x20
mov rcx, qword [rbp + 0x218]
mov qword [rbp + 0x390], rcx
mov rcx, qword [rbp + 0x220]
mov qword [rbp + 0x398], rcx
mov rcx, qword [rbp + 0x228]
mov qword [rbp + 0x3a0], rcx
mov rcx, qword [rbp + 0x230]
mov qword [rbp + 0x3a8], rcx
cmp byte [rax], 0
setne al
mov byte [rbp + 7], al
jmp 0x1401dc0a2
mov al, byte [rbp + 0x27]
test al, 1
jne 0x1401dc40a
lea rcx, [rbp + 0x1f8]
mov edx, 0x20
sub rsp, 0x20
call fcn.1401da41a
add rsp, 0x20
lea rcx, [rbp + 0x1f8]
sub rsp, 0x20
call fcn.14008e9ee
mov rax, qword [rbp + 0x130]
add rsp, 0x20
mov rcx, qword [rbp + 0x1f8]
mov qword [rbp + 0x390], rcx
mov rcx, qword [rbp + 0x200]
mov qword [rbp + 0x398], rcx
mov rcx, qword [rbp + 0x208]
mov qword [rbp + 0x3a0], rcx
mov rcx, qword [rbp + 0x210]
mov qword [rbp + 0x3a8], rcx
mov cl, byte [rax]
xor eax, eax
cmp cl, 0
mov byte [rbp + 7], al
je 0x1401dc0a2
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x60]
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jmp 0x1401dc4d2
mov al, byte [rbp + 7]
mov byte [rbp + 6], al
mov ecx, dword [0x1402232b0]
mov eax, dword [0x1402232b4]
mov edx, 0xc4d428ba
xor edx, 0x3372618e
xor eax, edx
sub ecx, 0xe15242e1
add ecx, eax
add ecx, 0xe15242e1
mov eax, ecx
and eax, 0x894ac348
xor ecx, 0x894ac348
or eax, ecx
add eax, 0x4a61e6e8
sub eax, 0x9a50fdd6
mov ecx, 0x44f388c3
xor ecx, 0xbb4c00da
cmp eax, ecx
je 0x1401dcb0a
mov rcx, qword [rbp + 0x18]
mov eax, dword [0x1402232b8]
mov r8d, dword [0x1402232bc]
xor r8d, 0xaa6b9c79
mov edx, eax
and edx, r8d
shl edx, 1
add eax, r8d
sub eax, edx
imul eax, eax, 0xcce7af4e
add eax, 0x3175bd50
mov r8d, 0x91f13f67
xor edx, edx
div r8d
mov dl, byte [rbp + 6]
cmp byte [rcx], 0
sete cl
or cl, dl
mov byte [rbp + 5], cl
cmp eax, 0x1f6832b6
je 0x1401dc0fb
mov al, byte [rbp + 5]
test al, 1
jne 0x1401dc428
jmp 0x1401dc15f
mov rdx, qword [rbp + 0x108]
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x78]
lea r8, [rbp + 0x390]
add r8, 0x10
mov qword [rbp - 0x18], r8
mov qword [rdx], rcx
mov qword [rdx + 8], rax
mov rax, qword [rbp + 0x3a0]
mov qword [rbp + 0x1d8], rax
mov rax, qword [rbp + 0x3a8]
mov qword [rbp + 0x1e0], rax
lea rcx, [rbp + 0x1e8]
lea r8, [rbp + 0x1d8]
sub rsp, 0x20
call fcn.1401da480
mov rax, qword [rbp + 0x130]
add rsp, 0x20
mov rcx, qword [rbp + 0x1e8]
mov qword [rbp - 0x10], rcx
mov rcx, qword [rbp + 0x1f0]
mov qword [rbp - 8], rcx
cmp byte [rax], 0
jne 0x1401dc40a
mov rcx, qword [rbp + 0x150]
mov rax, qword [rcx]
mov qword [rbp + 0x260], rax
mov rax, qword [rcx + 8]
mov qword [rbp + 0x268], rax
sub rsp, 0x20
call fcn.140168ca2
mov rdx, qword [rbp - 0x10]
mov rax, qword [rbp - 8]
mov rcx, qword [rbp + 0x110]
add rsp, 0x20
mov qword [rcx], rdx
mov qword [rcx + 8], rax
mov rax, qword [rbp + 0x260]
mov qword [rbp + 0x1c8], rax
mov rax, qword [rbp + 0x268]
mov qword [rbp + 0x1d0], rax
mov r8d, 0x39681bd3
xor r8d, 0x39681bd2
lea rdx, [rbp + 0x1c8]
sub rsp, 0x20
call fcn.1401782fd
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x130]
mov qword [rbp - 0x20], rcx
cmp byte [rax], 0
jne 0x1401dc394
mov word [rbp + 0x25e], 0x3bf
lea rcx, [rbp + 0x25e]
sub rsp, 0x20
call fcn.140070140
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x130]
mov qword [rbp - 0x28], rcx
cmp byte [rax], 0
jne 0x1401dc394
mov rdx, qword [rbp + 0x120]
mov rax, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x28]
mov r8, qword [rcx]
mov qword [rdx], r8
mov rcx, qword [rcx + 8]
mov qword [rdx + 8], rcx
mov rcx, qword [rax]
mov qword [rbp + 0x1a8], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x1b0], rax
lea rcx, [rbp + 0x1b8]
lea r8, [rbp + 0x1a8]
sub rsp, 0x20
call fcn.1401da480
mov rax, qword [rbp + 0x130]
add rsp, 0x20
mov rcx, qword [rbp + 0x1b8]
mov qword [rbp - 0x38], rcx
mov rcx, qword [rbp + 0x1c0]
mov qword [rbp - 0x30], rcx
mov al, byte [rax]
mov cl, 0x6d
xor cl, 0x6d
cmp al, cl
jne 0x1401dc394
mov rcx, qword [rbp + 0x128]
mov rax, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x38]
mov r8, qword [rbp + 0xc0]
mov r8, qword [r8]
add r8, 0x18
mov qword [rbp - 0x40], r8
mov qword [rbp + 0x198], rdx
mov qword [rbp + 0x1a0], rax
xor edx, edx
mov r8d, 0x10
sub rsp, 0x20
call sub.msvcrt.dll_memset
mov rcx, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x20]
mov r9, qword [rbp + 0x60]
mov rax, qword [rbp + 0x128]
add rsp, 0x20
lea r8, [rbp + 0x198]
sub rsp, 0x30
mov qword [rsp + 0x20], rax
call fcn.140177f90
add rsp, 0x30
mov rax, qword [rbp - 8]
cmp rax, 0
je 0x1401dc3f5
mov rax, qword [rbp - 8]
mov rax, qword [rax]
movabs rdx, 0x4000000000000000
mov rcx, rax
xor rcx, rdx
xor rcx, 0xffffffffffffffff
movabs rdx, 0xe208e8d3289976f2
movabs r8, 0xa208e8d3289976f2
xor rdx, r8
or rax, rdx
and rax, rcx
cmp rax, 0
jne 0x1401dc3f5
mov rcx, qword [rbp - 8]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
mov rax, qword [rbp + 0x130]
cmp byte [rax], 0
jne 0x1401dc40a
jmp 0x1401dc44d
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x60]
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jmp 0x1401dc4d2
mov rax, qword [rbp + 0x80]
mov rcx, qword [rbp + 0x60]
mov dl, byte [rbp + 6]
test dl, 1
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
mov rax, qword [rbp + 0xc0]
mov rax, qword [rax]
mov rcx, qword [rax + 0x20]
add rcx, 0x10
mov rdx, qword [rbp + 0x400]
sub rsp, 0x20
call fcn.1401d2c55
mov rdx, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x80]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 6
xor r8b, 6
cmp dl, r8b
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
jne 0x1401dc4d2
lea rcx, [rbp + 0x400]
sub rsp, 0x20
call fcn.1401d2ce0
mov rcx, qword [rbp + 0x60]
mov rax, qword [rbp + 0x80]
add rsp, 0x20
mov qword [rbp + 0x178], rcx
mov qword [rbp + 0x180], rax
mov rax, qword [rbp + 0x130]
mov rcx, qword [rbp + 0x178]
mov rdx, qword [rbp + 0x180]
mov qword [rbp - 0x58], rdx
mov qword [rbp - 0x50], rcx
mov cl, byte [rax]
mov byte [rbp - 0x42], cl
mov byte [rax], 0
lea rcx, [rbp + 0x390]
sub rsp, 0x20
call fcn.14006aeb2
mov rcx, qword [rbp + 0x130]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x41], al
jne 0x1401dc8e8
mov rcx, qword [rbp + 0x148]
sub rsp, 0x20
call fcn.140069e70
mov rcx, qword [rbp + 0x130]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x41], al
jne 0x1401dc8e8
lea rcx, [rbp + 0x3b0]
sub rsp, 0x20
call fcn.140069e70
mov rax, qword [rbp + 0x130]
add rsp, 0x20
mov cl, byte [rax]
mov dl, 0x1b
xor dl, 0x1b
mov al, 1
cmp cl, dl
mov byte [rbp - 0x41], al
jne 0x1401dc8e8
lea rcx, [rbp + 0x3d8]
sub rsp, 0x20
call fcn.140069e70
mov rcx, qword [rbp + 0x130]
add rsp, 0x20
mov al, 1
cmp byte [rcx], 0
mov byte [rbp - 0x41], al
jne 0x1401dc8e8
mov eax, dword [0x1402232c0]
mov ecx, dword [0x1402232c4]
xor ecx, 0x52ff1bf2
and eax, ecx
mov ecx, eax
xor ecx, 0x391cdc82
xor ecx, 0xffffffff
mov edx, 0x197076d6
xor edx, 0x206caa54
and edx, ecx
mov ecx, 0x5fcb5f97
xor ecx, 0x5fcb5f95
imul ecx, edx
sub ecx, 0x391cdc82
sub eax, ecx
mov ecx, 0x257e9b82
xor ecx, 0xbeded2d1
imul eax, ecx
add eax, 0xf7d7dfef
add eax, 0x3b36c679
mov ecx, 0xd5aefc8d
xor ecx, 0x22792362
sub eax, ecx
mov ecx, 0x91b45eb0
xor ecx, 0x1d726c78
cmp eax, ecx
ja 0x1401dcb13
mov rcx, qword [rbp - 0x50]
mov esi, dword [0x1402232c8]
xor esi, 0xfb8ac1d9
mov r11d, dword [str.n_r_p]
mov edx, 0xeb561373
xor edx, 0x14a9ec8c
mov eax, esi
xor eax, edx
mov r8d, r11d
xor r8d, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x7102ea7e
mov r10d, 0xd3e5f4aa
xor r10d, 0xa2e71ed4
mov edx, eax
and edx, r10d
and esi, r9d
mov r10d, r8d
and r10d, 0x7102ea7e
and r11d, r9d
or edx, esi
or r10d, r11d
xor edx, r10d
or eax, r8d
xor eax, 0xffffffff
mov r8d, 0x1e7b2586
xor r8d, 0x6f79cff8
or r8d, r9d
and eax, r8d
or edx, eax
mov eax, edx
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov edx, 0xb638c83c
xor edx, 0x9284eee3
mov r8d, 0x4c0dc3b1
xor r8d, 0xb3f23c4e
xor edx, r8d
mov r8d, 0x6874883d
xor r8d, 0x4cc8aee2
mov r9d, 0x3b730959
xor r9d, 0xc48cf6a6
xor r8d, r9d
and edx, r8d
mov r8d, 0x9c677f9a
xor r8d, 0x63988065
xor eax, r8d
xor edx, 0xffffffff
and eax, edx
and eax, 0x60ee88d9
add eax, 0x5c1d59cf
mov dword [rbp - 0x60], eax
mov eax, 0xf61cb7b3
xor eax, 0xadffb31f
mov dword [rbp - 0x64], eax
sub rsp, 0x20
call fcn.1400e0869
mov rdx, qword [rbp + 0x130]
mov ecx, dword [rbp - 0x64]
mov eax, dword [rbp - 0x60]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x59], dl
cmp eax, ecx
jb 0x1401dcb13
mov cl, byte [rbp - 0x59]
mov al, 1
test cl, 1
mov byte [rbp - 0x41], al
jne 0x1401dc74f
jmp 0x1401dc8e8
mov rax, qword [rbp - 0x58]
cmp rax, 0
je 0x1401dc889
mov rax, qword [rbp - 0x58]
mov rcx, qword [rax]
movabs rdx, 0xf93d0615f0c541b9
movabs rax, 0x6c2f9ea0f3abe46
xor rdx, rax
mov rax, rcx
xor rax, rdx
xor rcx, 0xffffffffffffffff
and rax, rcx
mov rcx, 0xffffffffffffffff
movabs rdx, 0x4000000000000000
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jne 0x1401dc889
mov eax, dword [0x1402232d0]
and eax, dword [0x1402232d4]
imul eax, eax, 0x5c6ed398
mov ecx, eax
xor ecx, 0xdd553110
mov edx, 0x510f1a6d
xor edx, 0xaef0e592
xor ecx, edx
or eax, 0xdd553110
and eax, ecx
mov ecx, eax
xor ecx, 0x6d125f75
xor ecx, 0xffffffff
or eax, 0x6d125f75
and eax, ecx
mov ecx, 0x4aa47e48
xor ecx, 0xbab769cd
cmp eax, ecx
je 0x1401dcb1c
mov rcx, qword [rbp - 0x58]
mov eax, dword [0x1402232d8]
mov r8d, dword [0x1402232dc]
xor r8d, 0x1041048d
xor edx, edx
div r8d
sub eax, 0x1432c569
add eax, 0x30a0255f
add eax, 0x1432c569
mov edx, eax
xor edx, 0x6a3c1d4a
xor edx, 0xffffffff
mov r8d, 0x421a3f13
xor r8d, 0x28262259
or eax, r8d
and eax, edx
imul eax, eax, 0x28d32555
mov dword [rbp - 0x68], eax
sub rsp, 0x20
call fcn.140010918
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp eax, 0x61de3d1c
je 0x1401dcb1c
jmp 0x1401dc889
mov rax, qword [rbp + 0x150]
mov rcx, qword [rax]
mov qword [rbp + 0x188], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x190], rax
lea rcx, [rbp + 0x188]
sub rsp, 0x20
call fcn.1401613e0
mov rcx, qword [rbp + 0x130]
mov al, byte [rbp - 0x42]
add rsp, 0x20
mov cl, byte [rcx]
mov dl, 0x99
xor dl, 0x99
mov r8b, 1
mov byte [rbp - 0x6a], r8b
cmp cl, dl
mov byte [rbp - 0x69], al
je 0x1401dc8e2
mov al, byte [rbp - 0x6a]
mov byte [rbp - 0x69], al
mov al, byte [rbp - 0x69]
mov byte [rbp - 0x41], al
mov rax, qword [rbp + 0x130]
mov cl, byte [rbp - 0x41]
mov byte [rbp - 0x6b], cl
mov byte [rax], 0
mov rcx, qword [rbp + 0x400]
sub rsp, 0x20
call fcn.1401d2e30
mov rax, qword [rbp + 0x130]
add rsp, 0x20
cmp byte [rax], 0
jne 0x1401dc930
mov al, byte [rbp - 0x6b]
mov rcx, qword [rbp + 0x130]
mov byte [rcx], al
cmp al, 0
je 0x1401dcaee
sub rsp, 0x20
call fcn.1401da4fc
add rsp, 0x20
mov rax, qword [rax]
mov qword [rbp - 0x78], rax
cmp word [rax + 0x12], 1
jle 0x1401dcaee
mov eax, dword [0x1402232e0]
mov ecx, dword [0x1402232e4]
xor ecx, 0x4abef6d9
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0xffffffff
xor edx, 0x37ffa02e
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x5f3b63f5
xor edx, 0xaec2570
or eax, edx
add eax, ecx
mov ecx, 0x83896663
xor ecx, 0x57c0a828
sub eax, ecx
cmp eax, 0x5e5272e7
je 0x1401dcb25
mov rcx, qword [rbp - 0x78]
mov edx, dword [0x1402232e8]
mov r8d, dword [0x1402232ec]
mov eax, edx
add eax, 1
xor edx, 0xffffffff
or edx, r8d
add edx, eax
add edx, 0xa89c1a71
mov r9d, 0xffffffff
xor r9d, 0x9e89059e
mov r8d, edx
and r8d, r9d
mov eax, edx
or eax, r9d
xor eax, 0xffffffff
imul eax, r8d
mov r8d, edx
and r8d, 0x9e89059e
mov r9d, 0x3ae70963
xor r9d, 0xa46e0cfd
or edx, r9d
imul edx, r8d
add edx, eax
mov eax, edx
or eax, eax
mov r8d, 0x3c9ae3fd
xor r8d, 0xc3651c02
xor eax, r8d
mov r8d, 0x9075d515
xor r8d, 0x615112c2
mov r9d, 0xc5032853
xor r9d, 0x3afcd7ac
xor r8d, r9d
mov r9d, 0xbad832f3
xor r9d, 0x4bfcf524
mov r10d, 0x37570154
xor r10d, 0xc8a8feab
xor r9d, r10d
and r8d, r9d
or eax, r8d
xor eax, 0xffffffff
or edx, 0xf124c7d7
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov rcx, qword [rcx + 0x18]
mov ecx, dword [rcx + 8]
mov edx, 0xe8c295dc
xor edx, 0x2db0b7bd
mov al, 0x2d
cmp ecx, edx
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0x9b241270
jb 0x1401dcb25
mov al, byte [rbp - 0x79]
test al, 1
jne 0x1401dcaa4
jmp 0x1401dcaee
mov rax, qword [rbp + 0x130]
mov byte [rax], 0
sub rsp, 0x20
call fcn.1401da50e
add rsp, 0x20
mov rcx, rax
sub rsp, 0x20
call fcn.1400a4060
mov rax, qword [rbp + 0x130]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x26
xor cl, 0x26
cmp al, cl
jne 0x1401dcaee
invalid
sub rsp, 0x20
call fcn.1401da545
add rsp, 0x20
lea rsp, [rbp + 0x408]
pop rsi
pop rbp
ret
jrcxz 0x1401dca7f
in al, 0x8b
jmp 0x1401db6fe
add dword [rcx - 0x68165ed5], ebx
invalid
ja 0x1401dcad0
in eax, dx
mov gs, ecx
call 0xe31dcb09
mov ecx, es
jmp 0x1401dc61b
movabs byte [0xfffffaffe942c18c], al
sub ch, dl
invalid
sub al, 0xb2
sbb dword [rsi - 0x17], 0xfffffe79
nop