Function at 0x14000d6e4
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2b8]
sub rsp, 0x380
mov qword [rbp - 0x28], 0xfffffffffffffffe
mov qword [rax + 0x20], rbx
mov rax, qword [0x140046180]
xor rax, rsp
mov qword [rbp + 0x270], rax
mov rbx, r8
mov r14, rdx
mov r12, rcx
xor r15d, r15d
cmp qword [rcx + 0x48], r15
jne 0x14000d73a
mov dword [rcx], 6
jmp 0x14000efd9
mov esi, 0xf
mov qword [rbp + 0x78], rsi
mov qword [rbp + 0x70], r15
mov byte [rbp + 0x60], r15b
lea rcx, [rbp + 0x220]
lea rdx, [0x14003a290]
lea r8d, [rsi + 0x40]
call fcn.1400230b0
lea edx, [rsi + 0x3e]
mov al, byte [rbp + rdx + 0x21f]
xor byte [rbp + rdx + 0x220], al
dec rdx
test rdx, rdx
jg 0x14000d765
xor byte [rbp + 0x220], 0xee
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x220]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x60]
call fcn.140002348
cmp qword [rbx + 0x18], 8
jb 0x14000d7b2
mov rbx, qword [rbx]
mov edx, 0xad68927
mov edi, 0xb9f5b9c
mov ecx, edi
call fcn.140022154
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
mov rcx, rbx
call rax
mov r13, rax
cmp rax, 0xffffffffffffffff
jne 0x14000d801
lea ecx, [rax + 8]
mov dword [r12], ecx
lea esi, [rax + 0x11]
jmp 0x14000efca
mov qword [rbp - 0x50], r15
mov edx, 0x769d9a8
mov ecx, edi
call fcn.140022154
lea rdx, [rbp - 0x50]
mov rcx, r13
call rax
lea rcx, [rbp - 0x70]
call fcn.14000259c
nop
lea rcx, [rsp + 0x70]
call fcn.14000259c
nop
mov rax, qword [0x14003a2e0]
mov qword [rbp + 0x1a0], rax
mov eax, dword [0x14003a2e8]
mov dword [rbp + 0x1a8], eax
mov al, byte [0x14003a2ec]
mov byte [rbp + 0x1ac], al
mov ecx, 0xb
lea ebx, [rcx - 0xa]
mov al, byte [rbp + rcx + 0x19f]
xor byte [rbp + rcx + 0x1a0], al
sub rcx, rbx
test rcx, rcx
jg 0x14000d85d
xor byte [rbp + 0x1a0], 0xec
lea rcx, [rbp - 0x18]
lea rdx, [0x14003a2f0]
mov r8d, 0x20
call fcn.1400230b0
mov edx, 0x1e
mov al, byte [rbp + rdx - 0x19]
xor byte [rbp + rdx - 0x18], al
sub rdx, rbx
test rdx, rdx
jg 0x14000d895
xor byte [rbp - 0x18], 0xc4
mov qword [rbp + 0x28], rsi
mov qword [rbp + 0x20], r15
mov byte [rbp + 0x10], r15b
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1a0]
repne scasb al, byte [rdi]
not rcx
sub rcx, rbx
mov r8, rcx
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x10]
call fcn.140002348
nop
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x70]
call fcn.14000a560
mov r11, rax
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp - 0x18]
repne scasb al, byte [rdi]
not rcx
sub rcx, rbx
mov r8, rcx
lea rdx, [rbp - 0x18]
mov rcx, r11
call fcn.140002348
nop
mov esi, 0x10
cmp qword [rbp + 0x28], rsi
jb 0x14000d924
mov rcx, qword [rbp + 0x10]
call fcn.1400233e4
mov rax, qword [0x14003a310]
mov qword [rbp + 0x1f0], rax
mov rax, qword [0x14003a318]
mov qword [rbp + 0x1f8], rax
mov rax, qword [0x14003a320]
mov qword [rbp + 0x200], rax
mov ecx, 0x16
mov al, byte [rbp + rcx + 0x1ef]
xor byte [rbp + rcx + 0x1f0], al
sub rcx, rbx
test rcx, rcx
jg 0x14000d953
xor byte [rbp + 0x1f0], 0x74
mov qword [rbp], 0xf
mov qword [rbp - 8], r15
mov byte [rbp - 0x18], r15b
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1f0]
repne scasb al, byte [rdi]
not rcx
sub rcx, rbx
mov r8, rcx
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp - 0x18]
call fcn.140002348
nop
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x10]
call fcn.14000ba04
mov rdi, rax
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x70]
call fcn.14000a560
mov rcx, rax
mov rdx, rdi
call fcn.1400052c0
nop
cmp qword [rbp + 0x28], rsi
jb 0x14000d9e1
mov rcx, qword [rbp + 0x10]
call fcn.1400233e4
mov qword [rbp + 0x28], 0xf
mov qword [rbp + 0x20], r15
mov byte [rbp + 0x10], r15b
cmp qword [rbp], rsi
jb 0x14000da00
mov rcx, qword [rbp - 0x18]
call fcn.1400233e4
mov rax, qword [0x14003a328]
mov qword [rbp + 0x1b8], rax
mov rax, qword [0x14003a330]
mov qword [rbp + 0x1c0], rax
mov eax, dword [0x14003a338]
mov dword [rbp + 0x1c8], eax
movzx eax, word [0x14003a33c]
mov word [rbp + 0x1cc], ax
mov ecx, 0x14
mov al, byte [rbp + rcx + 0x1b7]
xor byte [rbp + rcx + 0x1b8], al
sub rcx, rbx
test rcx, rcx
jg 0x14000da3b
xor byte [rbp + 0x1b8], 0xa9
mov rax, qword [0x14003a340]
mov qword [rbp + 0x10], rax
mov rax, qword [0x14003a348]
mov qword [rbp + 0x18], rax
mov rax, qword [0x14003a350]
mov qword [rbp + 0x20], rax
mov al, byte [0x14003a358]
mov byte [rbp + 0x28], al
mov ecx, 0x17
mov al, byte [rbp + rcx + 0xf]
xor byte [rbp + rcx + 0x10], al
sub rcx, rbx
test rcx, rcx
jg 0x14000da87
xor byte [rbp + 0x10], 0x6f
mov qword [rbp], 0xf
mov qword [rbp - 8], r15
mov byte [rbp - 0x18], r15b
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1b8]
repne scasb al, byte [rdi]
not rcx
sub rcx, rbx
mov r8, rcx
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp - 0x18]
call fcn.140002348
nop
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x70]
call fcn.14000a560
mov r11, rax
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x10]
repne scasb al, byte [rdi]
not rcx
sub rcx, rbx
mov r8, rcx
lea rdx, [rbp + 0x10]
mov rcx, r11
call fcn.140002348
nop
cmp qword [rbp], rsi
jb 0x14000db15
mov rcx, qword [rbp - 0x18]
call fcn.1400233e4
mov edi, 0xf
mov qword [rbp + 0x50], rdi
mov qword [rbp + 0x48], r15
mov byte [rbp + 0x38], r15b
mov rax, qword [0x14003a360]
mov qword [rbp + 0x1a0], rax
movzx eax, word [0x14003a368]
mov word [rbp + 0x1a8], ax
mov al, byte [0x14003a36a]
mov byte [rbp + 0x1aa], al
lea ecx, [rdi - 6]
mov al, byte [rbp + rcx + 0x19f]
xor byte [rbp + rcx + 0x1a0], al
sub rcx, rbx
test rcx, rcx
jg 0x14000db51
xor byte [rbp + 0x1a0], 0x5c
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 0x38]
call fcn.14000a6ec
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0x38]
call fcn.14000a82c
mov rax, qword [0x14003a370]
mov qword [rbp + 0x1b8], rax
mov rax, qword [0x14003a378]
mov qword [rbp + 0x1c0], rax
mov al, byte [0x14003a380]
mov byte [rbp + 0x1c8], al
mov rcx, rdi
mov al, byte [rbp + rcx + 0x1b7]
xor byte [rbp + rcx + 0x1b8], al
sub rcx, rbx
test rcx, rcx
jg 0x14000dbbc
xor byte [rbp + 0x1b8], 0x86
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 0x38]
call fcn.14000a6ec
lea rdx, [r12 + 0x38]
or r14, 0xffffffffffffffff
mov r9, r14
xor r8d, r8d
lea rcx, [rbp + 0x38]
call fcn.14000a82c
mov dword [rsp + 0x50], 0x2a570a
lea ecx, [r14 + 3]
mov al, byte [rsp + rcx + 0x4f]
xor byte [rsp + rcx + 0x50], al
sub rcx, rbx
test rcx, rcx
jg 0x14000dc0d
xor byte [rsp + 0x50], 0x28
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 0x38]
call fcn.14000a6ec
mov qword [rbp - 0x40], r15
mov eax, 0x400
mov qword [rbp - 0x38], rax
mov ecx, eax
call fcn.140014420
mov qword [rbp - 0x48], rax
lea rcx, [rbp - 0x70]
call fcn.140010cf8
mov dword [rsp + 0x50], r15d
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x20], r15
mov byte [rbp + 0x10], r15b
mov r8d, 4
lea rdx, str.POST
lea rcx, [rbp + 0x10]
call fcn.140002348
nop
lea rdx, [rbp + 0x60]
cmp qword [rbp + 0x78], rsi
cmovae rdx, qword [rbp + 0x60]
mov qword [rbp], rdi
mov qword [rbp - 8], r15
mov byte [rbp - 0x18], r15b
xor eax, eax
mov rcx, r14
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
sub rcx, rbx
mov r8, rcx
lea rcx, [rbp - 0x18]
call fcn.140002348
nop
lea r8, [rbp + 0x38]
cmp qword [rbp + 0x50], rsi
cmovae r8, qword [rbp + 0x38]
lea rax, [rbp - 0x48]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x48]
lea rdx, [rbp - 0x18]
lea rcx, [r12 + 8]
call fcn.140009d8c
mov edi, eax
cmp qword [rbp], rsi
jb 0x14000dd0e
mov rcx, qword [rbp - 0x18]
call fcn.1400233e4
mov qword [rbp], 0xf
xor r14d, r14d
mov qword [rbp - 8], r14
mov byte [rbp - 0x18], r14b
cmp qword [rbp + 0x28], rsi
jb 0x14000dd30
mov rcx, qword [rbp + 0x10]
call fcn.1400233e4
mov ebx, r14d
test edi, edi
je 0x14000dfa0
cmp edi, 3
je 0x14000de40
mov edx, 0x5a2bc0
mov ecx, 0xb9f5b9c
call fcn.140022154
mov ecx, 0xbb8
call rax
mov edi, 0xf
mov qword [rbp + 0x28], rdi
mov qword [rbp + 0x20], r14
mov byte [rbp + 0x10], r14b
lea r8d, [rdi - 0xb]
lea rdx, str.POST
lea rcx, [rbp + 0x10]
call fcn.140002348
nop
lea rdx, [rbp + 0x60]
cmp qword [rbp + 0x78], rsi
cmovae rdx, qword [rbp + 0x60]
mov qword [rbp], rdi
mov qword [rbp - 8], r14
mov byte [rbp - 0x18], r14b
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp - 0x18]
call fcn.140002348
nop
lea r8, [rbp + 0x38]
cmp qword [rbp + 0x50], rsi
cmovae r8, qword [rbp + 0x38]
lea rax, [rbp - 0x48]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
mov r9, qword [rbp + 0x48]
lea rdx, [rbp - 0x18]
lea rcx, [r12 + 8]
call fcn.140009d8c
mov edi, eax
cmp qword [rbp], rsi
jb 0x14000de14
mov rcx, qword [rbp - 0x18]
call fcn.1400233e4
mov qword [rbp], 0xf
mov qword [rbp - 8], r14
mov byte [rbp - 0x18], r14b
cmp qword [rbp + 0x28], rsi
jb 0x14000de33
mov rcx, qword [rbp + 0x10]
call fcn.1400233e4
inc ebx
cmp ebx, 3
jl 0x14000dd33
jmp 0x14000de48
mov dword [r12], 1
xor ebx, ebx
test edi, edi
je 0x14000dfa2
cmp edi, 2
je 0x14000df09
cmp edi, 4
je 0x14000df09
cmp edi, 1
je 0x14000de72
cmp edi, 3
jne 0x14000dfa2
mov dword [r12], 1
mov edx, 0x9ae7db5
mov ecx, 0xb9f5b9c
call fcn.140022154
mov rcx, r13
call rax
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
cmp qword [rbp + 0x50], rsi
jb 0x14000dea8
mov rcx, qword [rbp + 0x38]
call fcn.1400233e4
mov qword [rbp + 0x50], 0xf
mov qword [rbp + 0x48], rbx
mov byte [rbp + 0x38], bl
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp - 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400233e4
nop
jmp 0x14000efca
mov dword [r12], 3
mov edx, 0x9ae7db5
mov ecx, 0xb9f5b9c
call fcn.140022154
mov rcx, r13
call rax
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
cmp qword [rbp + 0x50], rsi
jb 0x14000df3f
mov rcx, qword [rbp + 0x38]
call fcn.1400233e4
mov qword [rbp + 0x50], 0xf
mov qword [rbp + 0x48], rbx
mov byte [rbp + 0x38], bl
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp - 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400233e4
nop
jmp 0x14000efca
xor ebx, ebx
mov rax, qword [0x14003a388]
mov qword [rbp + 0x1e0], rax
mov al, byte [0x14003a390]
mov byte [rbp + 0x1e8], al
mov ecx, 7
mov al, byte [rbp + rcx + 0x1df]
xor byte [rbp + rcx + 0x1e0], al
dec rcx
test rcx, rcx
jg 0x14000dfc1
xor byte [rbp + 0x1e0], 0x12
mov r14d, 0xf
mov qword [rbp], r14
mov qword [rbp - 8], rbx
mov byte [rbp - 0x18], bl
xor eax, eax
or r15, 0xffffffffffffffff
mov rcx, r15
lea rdi, [rbp + 0x1e0]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp - 0x18]
call fcn.140002348
nop
lea r8, [rbp - 0x18]
lea rdx, [rbp + 0x1b0]
lea rcx, [rsp + 0x70]
call fcn.140006644
mov rdi, qword [rax]
cmp qword [rbp], rsi
jb 0x14000e040
mov rcx, qword [rbp - 0x18]
call fcn.1400233e4
mov qword [rbp], r14
mov qword [rbp - 8], rbx
mov byte [rbp - 0x18], bl
cmp dword [rsp + 0x50], 0xc8
jne 0x14000ef40
cmp qword [rsp + 0x78], rdi
je 0x14000ef40
lea rdx, [rdi + 0x40]
mov r9, r15
xor r8d, r8d
lea rcx, [rbp + 0x60]
call fcn.14000278c
mov dword [rsp + 0x50], ebx
mov qword [rbp - 0x40], rbx
mov qword [rsp + 0x60], 0
mov qword [rbp + 0x200], 0x400000
mov ecx, 0x400000
call fcn.140014420
mov qword [rbp + 0x1f0], rax
mov r14d, ebx
mov qword [rbp + 0x1f8], rbx
mov ecx, 0x400000
mov dword [rsp + 0x68], ecx
mov rax, qword [rbp - 0x50]
sub rax, qword [rsp + 0x60]
cmp rax, rcx
jge 0x14000e0d6
mov ecx, dword [rbp - 0x50]
sub ecx, dword [rsp + 0x60]
mov dword [rsp + 0x68], ecx
je 0x14000eed4
mov r15d, ecx
cmp r15, 0x400000
cmova r15, rbx
mov qword [rbp + 0x1f8], r15
mov rax, qword [str._rb_fx]
mov qword [rbp + 0x208], rax
mov eax, dword [0x14003a3a0]
mov dword [rbp + 0x210], eax
movzx eax, word [0x14003a3a4]
mov word [rbp + 0x214], ax
mov ecx, 0xc
mov al, byte [rbp + rcx + 0x207]
xor byte [rbp + rcx + 0x208], al
dec rcx
test rcx, rcx
jg 0x14000e118
xor byte [rbp + 0x208], 0x4e
mov eax, dword [str._E1T_a]
mov dword [rbp + 0x1b0], eax
movzx eax, word [0x14003a3ac]
mov word [rbp + 0x1b4], ax
mov al, byte [0x14003a3ae]
mov byte [rbp + 0x1b6], al
mov ecx, 5
mov al, byte [rbp + rcx + 0x1af]
xor byte [rbp + rcx + 0x1b0], al
dec rcx
test rcx, rcx
jg 0x14000e160
xor byte [rbp + 0x1b0], 0x5e
mov qword [rbp], 0xf
mov qword [rbp - 8], rbx
mov byte [rbp - 0x18], bl
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x208]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x208]
lea rcx, [rbp - 0x18]
call fcn.140002348
nop
mov rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0x220]
call fcn.14000ba04
mov rbx, rax
mov edx, dword [rsp + 0x68]
mov rcx, qword [rsp + 0x60]
lea rdx, [rdx + rcx - 1]
lea rcx, [rbp + 0x88]
call fcn.14000ba04
mov rdi, rax
mov rdx, qword [rsp + 0x60]
lea rcx, [rbp + 0xb0]
call fcn.14000ba04
nop
mov r8, rax
lea rdx, [rbp + 0x1b0]
lea rcx, [rbp + 0xd8]
call fcn.140011950
nop
lea r8, [0x14003a3b4]
mov rdx, rax
lea rcx, [rbp + 0x150]
call fcn.140011acc
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp + 0x128]
call fcn.140011afc
nop
lea r8, [0x14003a3b0]
mov rdx, rax
lea rcx, [rbp + 0x100]
call fcn.140011acc
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x10]
call fcn.140011afc
mov rdi, rax
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x70]
call fcn.14000a560
mov rcx, rax
mov rdx, rdi
call fcn.1400052c0
nop
cmp qword [rbp + 0x28], rsi
jb 0x14000e287
mov rcx, qword [rbp + 0x10]
call fcn.1400233e4
mov ebx, 0xf
mov qword [rbp + 0x28], rbx
xor edi, edi
mov qword [rbp + 0x20], rdi
mov byte [rbp + 0x10], dil
cmp qword [rbp + 0x118], rsi
jb 0x14000e2af
mov rcx, qword [rbp + 0x100]
call fcn.1400233e4
mov qword [rbp + 0x118], rbx
mov qword [rbp + 0x110], rdi
mov byte [rbp + 0x100], dil
cmp qword [rbp + 0x140], rsi
jb 0x14000e2d9
mov rcx, qword [rbp + 0x128]
call fcn.1400233e4
mov qword [rbp + 0x140], rbx
mov qword [rbp + 0x138], rdi
mov byte [rbp + 0x128], dil
cmp qword [rbp + 0x168], rsi
jb 0x14000e303
mov rcx, qword [rbp + 0x150]
call fcn.1400233e4
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x160], rdi
mov byte [rbp + 0x150], dil
cmp qword [rbp + 0xf0], rsi
jb 0x14000e32d
mov rcx, qword [rbp + 0xd8]
call fcn.1400233e4
mov qword [rbp + 0xf0], rbx
mov qword [rbp + 0xe8], rdi
mov byte [rbp + 0xd8], dil
cmp qword [rbp + 0xc8], rsi
jb 0x14000e357
mov rcx, qword [rbp + 0xb0]
call fcn.1400233e4
mov qword [rbp + 0xc8], rbx
mov qword [rbp + 0xc0], rdi
mov byte [rbp + 0xb0], dil
cmp qword [rbp + 0xa0], rsi
jb 0x14000e381
mov rcx, qword [rbp + 0x88]
call fcn.1400233e4
mov qword [rbp + 0xa0], rbx
mov qword [rbp + 0x98], rdi
mov byte [rbp + 0x88], dil
cmp qword [rbp + 0x238], rsi
jb 0x14000e3ab
mov rcx, qword [rbp + 0x220]
call fcn.1400233e4
mov qword [rbp + 0x238], rbx
mov qword [rbp + 0x230], rdi
mov byte [rbp + 0x220], dil
cmp qword [rbp], rsi
jb 0x14000e3cf
mov rcx, qword [rbp - 0x18]
call fcn.1400233e4
mov edx, 0xbd35df2
mov ebx, 0xb9f5b9c
mov ecx, ebx
call fcn.140022154
xor r9d, r9d
lea r8, [rsp + 0x64]
mov edx, dword [rsp + 0x60]
mov rcx, r13
call rax
mov edx, 0xb78cba5
mov ecx, ebx
call fcn.140022154
mov qword [rsp + 0x20], rdi
lea r9, [rsp + 0x68]
mov r8d, dword [rsp + 0x68]
mov rbx, qword [rbp + 0x1f0]
mov rdx, rbx
mov rcx, r13
call rax
mov qword [rbp + 0x28], 0xf
mov qword [rbp + 0x20], rdi
mov byte [rbp + 0x10], dil
mov r8d, 3
lea rdx, [0x14003a3b8]
lea rcx, [rbp + 0x10]
call fcn.140002348
nop
lea rdx, [rbp + 0x60]
cmp qword [rbp + 0x78], rsi
cmovae rdx, qword [rbp + 0x60]
mov qword [rbp], 0xf
mov qword [rbp - 8], rdi
mov byte [rbp - 0x18], dil
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rbp - 0x18]
call fcn.140002348
nop
lea rax, [rbp - 0x48]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x70]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
mov r9, r15
mov r8, rbx
lea rdx, [rbp - 0x18]
lea rcx, [r12 + 8]
call fcn.140009d8c
xor ebx, ebx
test eax, eax
setne dil
cmp qword [rbp], rsi
jb 0x14000e4d5
mov rcx, qword [rbp - 0x18]
call fcn.1400233e4
mov qword [rbp], 0xf
mov qword [rbp - 8], rbx
mov byte [rbp - 0x18], bl
cmp qword [rbp + 0x28], rsi
jb 0x14000e4f3
mov rcx, qword [rbp + 0x10]
call fcn.1400233e4
test dil, dil
je 0x14000e520
inc r14d
mov ecx, 0xb9f5b9c
cmp r14d, 3
ja 0x14000e957
mov edx, 0x5a2bc0
call fcn.140022154
mov ecx, 0x1388
call rax
jmp 0x14000e0a7
mov ebx, dword [rsp + 0x50]
cmp ebx, 0xc8
je 0x14000ed97
cmp ebx, 0x134
jne 0x14000e632
mov eax, dword [0x14003a3bc]
mov dword [rbp + 0x1d8], eax
movzx eax, word [0x14003a3c0]
mov word [rbp + 0x1dc], ax
mov r15d, 4
mov ecx, r15d
xor ebx, ebx
mov al, byte [rbp + rcx + 0x1d7]
xor byte [rbp + rcx + 0x1d8], al
dec rcx
test rcx, rcx
jg 0x14000e561
xor byte [rbp + 0x1d8], 0xd6
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp + 0x220]
call fcn.140001c78
nop
lea r8, [rbp + 0x220]
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x70]
call fcn.140006644
mov rdi, qword [rax]
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x220]
call fcn.140001e7c
cmp qword [rsp + 0x78], rdi
je 0x14000ea91
lea rcx, [rdi + 0x40]
mov r9d, 1
xor r8d, r8d
lea rdx, [0x14003a3b4]
call fcn.140006cd0
or r15, 0xffffffffffffffff
cmp rax, r15
je 0x14000ea00
lea r8, [rax + 1]
lea rcx, [rdi + 0x40]
mov r9, r15
lea rdx, [rbp + 0x88]
call fcn.140010ff0
cmp qword [rax + 0x18], rsi
jb 0x14000e60c
mov rax, qword [rax]
mov rcx, rax
call fcn.140023a24
inc rax
mov qword [rsp + 0x60], rax
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x88]
call fcn.140001e7c
jmp 0x14000e0a7
inc r14d
mov ecx, 0xb9f5b9c
cmp r14d, 3
ja 0x14000ed0b
mov edx, 0x5a2bc0
call fcn.140022154
mov ecx, 0x3e8
call rax
mov dword [rbp - 0x30], 0x400
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x10]
call fcn.140005440
nop
lea rcx, [rbp - 0x18]
call fcn.14000259c
nop
mov rax, qword [0x14003a3c8]
mov qword [rbp + 0x1b8], rax
mov eax, dword [0x14003a3d0]
mov dword [rbp + 0x1c0], eax
movzx eax, word [0x14003a3d4]
mov word [rbp + 0x1c4], ax
mov ecx, 0xc
mov al, byte [rbp + rcx + 0x1b7]
xor byte [rbp + rcx + 0x1b8], al
dec rcx
test rcx, rcx
jg 0x14000e6a1
xor byte [rbp + 0x1b8], 0xa9
mov rax, qword [0x14003a3d8]
mov qword [rbp + 0x1a0], rax
movzx eax, word [0x14003a3e0]
mov word [rbp + 0x1a8], ax
mov ecx, 8
mov al, byte [rbp + rcx + 0x19f]
xor byte [rbp + rcx + 0x1a0], al
dec rcx
test rcx, rcx
jg 0x14000e6df
xor byte [rbp + 0x1a0], 0xee
lea rdx, [rbp + 0x1b8]
lea rcx, [rbp + 0x220]
call fcn.140001c78
nop
lea rdx, [rbp + 0x220]
lea rcx, [rbp - 0x18]
call fcn.14000a560
mov r11, rax
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rbp + 0x1a0]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rbp + 0x1a0]
mov rcx, r11
call fcn.140002348
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x220]
call fcn.140001e7c
cmp r14d, 3
jae 0x14000e83c
lea rdx, [0x14003a3b8]
lea rcx, [rbp + 0x88]
call fcn.140001c78
nop
lea rdx, [rbp + 0x60]
cmp qword [rbp + 0x78], rsi
cmovae rdx, qword [rbp + 0x60]
lea rcx, [rbp + 0x220]
call fcn.140001c78
nop
lea rax, [rbp + 0x10]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x70]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rbp - 0x18]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rbp + 0x220]
lea rcx, [r12 + 8]
call fcn.140009d8c
test eax, eax
sete dil
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x220]
call fcn.140001e7c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x88]
call fcn.140001e7c
test dil, dil
jne 0x14000e834
mov dword [r12], 3
inc r14d
mov edx, 0x5a2bc0
mov ecx, 0xb9f5b9c
call fcn.140022154
mov ecx, 0x1388
call rax
cmp r14d, 3
jb 0x14000e764
mov ebx, dword [rsp + 0x50]
cmp r14d, 3
ja 0x14000ec4d
cmp ebx, 0x134
jne 0x14000ebdc
mov eax, dword [0x14003a3e4]
mov dword [rbp + 0x1d0], eax
movzx eax, word [0x14003a3e8]
mov word [rbp + 0x1d4], ax
mov ecx, 4
xor ebx, ebx
mov al, byte [rbp + rcx + 0x1cf]
xor byte [rbp + rcx + 0x1d0], al
dec rcx
test rcx, rcx
jg 0x14000e86f
xor byte [rbp + 0x1d0], 0x92
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x220]
call fcn.140001c78
nop
lea r8, [rbp + 0x220]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.140006644
mov rdi, qword [rax]
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x220]
call fcn.140001e7c
cmp qword [rsp + 0x78], rdi
je 0x14000e93a
lea rcx, [rdi + 0x40]
mov r9d, 1
xor r8d, r8d
lea rdx, [0x14003a3b4]
call fcn.140006cd0
or r15, 0xffffffffffffffff
cmp rax, r15
je 0x14000eb1e
lea r8, [rax + 1]
lea rcx, [rdi + 0x40]
mov r9, r15
lea rdx, [rbp + 0x88]
call fcn.140010ff0
cmp qword [rax + 0x18], rsi
jb 0x14000e917
mov rax, qword [rax]
mov rcx, rax
call fcn.140023a24
inc rax
mov qword [rsp + 0x60], rax
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x88]
call fcn.140001e7c
jmp 0x14000e93f
mov qword [rsp + 0x60], rbx
lea rcx, [rbp - 0x18]
call fcn.140001050
nop
lea rcx, [rbp + 0x10]
call fcn.1400054b8
jmp 0x14000e0a7
mov dword [r12], 3
mov edx, 0x9ae7db5
call fcn.140022154
mov rcx, r13
call rax
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400054b8
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
cmp qword [rbp + 0x50], rsi
jb 0x14000e995
mov rcx, qword [rbp + 0x38]
call fcn.1400233e4
mov qword [rbp + 0x50], 0xf
mov qword [rbp + 0x48], rbx
mov byte [rbp + 0x38], bl
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400233e4
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x60]
call fcn.140001e7c
jmp 0x14000efd9
mov dword [r12], 4
mov edx, 0x9ae7db5
mov ecx, 0xb9f5b9c
call fcn.140022154
mov rcx, r13
call rax
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400054b8
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140001e7c
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400233e4
nop
jmp 0x14000e9ed
mov dword [r12], r15d
mov edx, 0x9ae7db5
mov ecx, 0xb9f5b9c
call fcn.140022154
mov rcx, r13
call rax
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400054b8
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140001e7c
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400233e4
nop
jmp 0x14000e9ed
mov dword [r12], 4
mov edx, 0x9ae7db5
mov ecx, 0xb9f5b9c
call fcn.140022154
mov rcx, r13
call rax
nop
mov r8, qword [rbp - 0x10]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x18]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x10]
call fcn.1400233e4
nop
lea rcx, [rbp + 0x10]
call fcn.1400054b8
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400054b8
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140001e7c
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400233e4
nop
jmp 0x14000e9ed
mov dword [r12], 4
mov edx, 0x9ae7db5
mov ecx, 0xb9f5b9c
call fcn.140022154
mov rcx, r13
call rax
nop
lea rcx, [rbp - 0x18]
call fcn.140001050
nop
lea rcx, [rbp + 0x10]
call fcn.1400054b8
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400054b8
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140001e7c
nop
lea rcx, [rsp + 0x70]
call fcn.140001050
nop
lea rcx, [rbp - 0x70]
call fcn.140001050
nop
jmp 0x14000e9ed
mov dword [r12], 3
mov edx, 0x9ae7db5
mov ecx, 0xb9f5b9c
call fcn.140022154
mov rcx, r13
call rax
nop
mov r8, qword [rbp - 0x10]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x18]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x10]
call fcn.1400233e4
nop
lea rcx, [rbp + 0x10]
call fcn.1400054b8
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400054b8
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140001e7c
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400233e4
nop
jmp 0x14000e9ed
mov dword [r12], 3
mov edx, 0x9ae7db5
call fcn.140022154
mov rcx, r13
call rax
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400054b8
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140001e7c
nop
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400233e4
nop
jmp 0x14000e9ed
mov edi, 0xf
mov qword [rbp + 0xc8], rdi
xor ebx, ebx
mov qword [rbp + 0xc0], rbx
mov byte [rbp + 0xb0], bl
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x48]
lea rcx, [rbp + 0xb0]
call fcn.140002348
nop
mov qword [rbp + 0xf0], rdi
mov qword [rbp + 0xe8], rbx
mov byte [rbp + 0xd8], bl
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0x98], rbx
mov byte [rbp + 0x88], bl
mov qword [rbp + 0x238], rdi
mov qword [rbp + 0x230], rbx
mov byte [rbp + 0x220], bl
lea r9, [rbp + 0x88]
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0xb0]
call fcn.1400125a8
mov rdx, qword [r12 + 0x30]
lea rcx, [rbp + 0x1b0]
call fcn.140004570
nop
lea r8, [rbp + 0x220]
lea rdx, [rbp + 0x88]
lea rcx, [rbp + 0x150]
call fcn.140011b64
nop
mov rdx, rax
lea rcx, [r12 + 0x60]
call fcn.140012164
mov r8, rax
lea rdx, [rbp + 0x1b8]
lea rcx, [r12 + 0x60]
call fcn.140004648
nop
lea rcx, [rbp + 0x150]
call fcn.14000f008
nop
lea rcx, [rbp + 0x1b0]
call fcn.1400045a8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x220]
call fcn.140001e7c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x88]
call fcn.140001e7c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xd8]
call fcn.140001e7c
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0xb0]
call fcn.140001e7c
mov dword [r12], ebx
mov edx, 0x9ae7db5
mov ecx, 0xb9f5b9c
call fcn.140022154
mov rcx, r13
call rax
nop
lea rcx, [rbp + 0x1f0]
call fcn.1400054b8
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x38]
call fcn.140001e7c
nop
lea rcx, [rsp + 0x70]
call fcn.140001050
nop
lea rcx, [rbp - 0x70]
call fcn.140001050
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp + 0x60]
call fcn.140001e7c
mov eax, 1
jmp 0x14000efdb
mov dword [r12], 4
mov edx, 0x9ae7db5
mov ecx, 0xb9f5b9c
call fcn.140022154
mov rcx, r13
call rax
nop
lea rcx, [rbp - 0x48]
call fcn.1400054b8
nop
cmp qword [rbp + 0x50], rsi
jb 0x14000ef76
mov rcx, qword [rbp + 0x38]
call fcn.1400233e4
mov qword [rbp + 0x50], r14
mov qword [rbp + 0x48], rbx
mov byte [rbp + 0x38], bl
mov r8, qword [rsp + 0x78]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rsp + 0x78]
call fcn.1400233e4
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rsp + 0x58]
lea rcx, [rbp - 0x70]
call fcn.1400024e4
nop
mov rcx, qword [rbp - 0x68]
call fcn.1400233e4
nop
cmp qword [rbp + 0x78], rsi
jb 0x14000efd9
mov rcx, qword [rbp + 0x60]
call fcn.1400233e4
xor eax, eax
mov rcx, qword [rbp + 0x270]
xor rcx, rsp
call fcn.140022ee0
mov rbx, qword [rsp + 0x3d8]
add rsp, 0x380
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret