Function at 0x140024470
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x140066010]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov rdi, qword [rbp + 0xb0]
xor r10d, r10d
mov rsi, qword [rbp + 0xb8]
mov r15, rcx
mov qword [rbp - 0x60], rcx
movzx eax, r10w
mov ecx, 1
mov dword [rsp + 0x3c], eax
mov word [rbp - 0x7e], ax
mov r12, rdx
mov rax, qword [rbp + 0xa8]
mov r14d, r10d
mov dword [rsp + 0x60], ecx
mov r13d, r10d
mov word [rsp + 0x38], cx
mov dword [rsp + 0x70], ecx
mov word [rbp - 0x80], cx
mov dword [rbp - 8], ecx
mov dword [rbp + 8], ecx
mov dword [rbp + 0x18], ecx
mov dword [rbp + 0x28], ecx
mov rcx, qword [rbp + 0xa0]
mov byte [rsp + 0x3a], r9b
mov qword [rbp - 0x58], r8
mov qword [rbp - 0x68], rdx
movzx eax, byte [rcx + rax]
mov rcx, r15
mov byte [rsp + 0x20], al
mov qword [rsp + 0x58], r10
mov qword [rsp + 0x68], r10
mov qword [rsp + 0x78], r10
mov qword [rbp - 0x10], r10
mov qword [rbp], r10
mov qword [rbp + 0x10], r10
mov qword [rbp + 0x20], r10
call fcn.140024390
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025403
test rdi, rdi
je 0x140024561
mov r9, rsi
mov r8, rdi
mov rdx, r12
mov rcx, r15
call fcn.140023e40
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025403
mov rdi, qword [rbp + 0xa8]
test rdi, rdi
je 0x140025403
dec rdi
lea r9, [rbp - 0x10]
mov r8, r12
mov qword [rbp + 0xa8], rdi
mov rdx, r12
mov rcx, r15
call fcn.1400234a0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025396
mov rax, qword [rbp + 0xa0]
movzx r13d, byte [rdi + rax]
xor dil, dil
movzx r15d, r13b
shr r15b, 1
and r15b, 0x3f
cmp byte [rsp + 0x3a], dil
jbe 0x140024629
nop word [rax + rax]
movzx eax, dil
lea rcx, [rsp + 0x58]
cmp dil, r15b
sete sil
lea r14, [rax + rax*2]
movzx r8d, sil
shl r14, 4
add r14, qword [rbp - 0x58]
mov rdx, r14
call fcn.140029010
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025374
lea rdx, [r14 + 0x10]
movzx r8d, sil
lea rcx, [rsp + 0x68]
call fcn.140029010
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025374
inc dil
cmp dil, byte [rsp + 0x3a]
jb 0x1400245c0
movzx r8d, word [rsp + 0x70]
mov r14, qword [rsp + 0x68]
jmp 0x14002462f
movzx r8d, word [rsp + 0x38]
movzx eax, word [rsp + 0x72]
xor esi, esi
mov qword [rbp - 0x78], rsi
mov edx, 1
mov dword [rbp - 0x70], edx
mov qword [rsp + 0x48], rsi
test rax, rax
je 0x140024662
lea rcx, [rax - 1]
lea rcx, [r14 + rcx*8]
cmp qword [rcx], rsi
jne 0x140024662
sub rcx, 8
sub rax, rdx
jne 0x140024654
mov rcx, rdx
lea rdx, [rsp + 0x48]
nop word [rax + rax]
cmp qword [rdx], rsi
jne 0x14002467f
sub rdx, 8
sub rcx, 1
jne 0x140024670
test rax, rax
jne 0x1400246ef
test rcx, rcx
jne 0x1400246fa
mov r14d, esi
mov r15, qword [rbp - 0x60]
lea r8, [rsp + 0x68]
mov r9d, 0xffffffff
lea rcx, [rbp - 0x78]
lea rdx, [r15 + 8]
call fcn.14002a180
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x1400248e8
movzx esi, word [rbp - 0x6e]
cmp rsi, 0x2710
jbe 0x140024756
movzx ecx, word [rsp + 0x70]
mov ebx, 0xfffffff0
mov r14, qword [rsp + 0x68]
xor esi, esi
mov r8, qword [rbp - 0x78]
mov dword [rsp + 0x30], ebx
mov word [rsp + 0x38], cx
mov qword [rsp + 0x48], r14
jmp 0x140024900
cmp rcx, rax
jae 0x1400246fd
movsx r14d, r8w
jmp 0x14002468c
cmp rcx, rax
jbe 0x140024707
mov r14d, 0xffffffff
jmp 0x14002468c
test r8w, r8w
jns 0x140024718
mov r14d, 0xffffffff
jmp 0x14002468c
test rax, rax
je 0x140024689
lea rdx, [rsp + 0x48]
sub r14, rdx
lea rcx, [rsp + rax*8 + 0x40]
nop
mov rdx, qword [r14 + rcx]
cmp rdx, qword [rcx]
ja 0x1400246f4
jb 0x14002474a
sub rcx, 8
sub rax, 1
jne 0x140024730
jmp 0x140024689
movsx r14d, r8w
neg r14d
jmp 0x14002468c
movzx r12d, word [rsp + 0x72]
cmp r12, rsi
jae 0x1400247eb
mov edx, 8
mov rcx, rsi
call fcn.140039360
mov r15, rax
test rax, rax
jne 0x1400247aa
movzx ecx, word [rsp + 0x70]
mov ebx, 0xfffffff0
mov r14, qword [rsp + 0x68]
xor esi, esi
mov r8, qword [rbp - 0x78]
mov r12, qword [rbp - 0x68]
mov r15, qword [rbp - 0x60]
mov dword [rsp + 0x30], ebx
mov word [rsp + 0x38], cx
mov qword [rsp + 0x48], r14
jmp 0x140024900
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400247e1
lea r12, [r12*8]
mov rdx, rbx
mov r8, r12
mov rcx, r15
call fcn.140037460
test r12, r12
je 0x1400247d9
mov rdi, rbx
xor eax, eax
mov rcx, r12
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.14003c2e4
mov word [rsp + 0x72], si
mov qword [rsp + 0x68], r15
xor ecx, ecx
movzx eax, r13b
shr rax, 7
mov ebx, ecx
mov dword [rsp + 0x30], ecx
test r14d, r14d
cmovne rcx, rax
mov rax, qword [0x140068180]
xor rcx, rax
mov rax, qword [0x140068180]
mov r14, qword [rsp + 0x68]
mov rdx, rcx
mov r8, qword [rbp - 0x78]
neg rcx
shr rdx, 1
neg rdx
mov qword [rsp + 0x48], r14
or rdx, rcx
movzx ecx, word [rsp + 0x70]
inc cx
shr rdx, 0x3f
neg rdx
xor rax, rdx
not rax
and cx, ax
movzx eax, word [rbp - 0x70]
inc ax
and ax, dx
or cx, ax
dec cx
mov word [rsp + 0x38], cx
mov word [rsp + 0x70], cx
cmp r14, r8
je 0x1400248c1
test rsi, rsi
je 0x1400248c1
sub r8, r14
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x140068180]
mov rax, qword [r8 + r14]
lea r14, [r14 + 8]
xor rcx, rdx
and rax, rdx
not rcx
and rcx, qword [r14 - 8]
or rax, rcx
mov qword [r14 - 8], rax
sub rdi, 1
jne 0x140024880
movzx eax, word [rsp + 0x70]
mov r14, qword [rsp + 0x68]
mov r8, qword [rbp - 0x78]
mov word [rsp + 0x38], ax
mov qword [rsp + 0x48], r14
movzx eax, word [rsp + 0x72]
not rdx
cmp rsi, rax
jae 0x1400248dc
nop
and qword [r14 + rsi*8], rdx
inc rsi
cmp rsi, rax
jb 0x1400248d0
mov r12, qword [rbp - 0x68]
mov r15, qword [rbp - 0x60]
xor esi, esi
jmp 0x140024900
movzx eax, word [rsp + 0x70]
mov r14, qword [rsp + 0x68]
mov r8, qword [rbp - 0x78]
mov word [rsp + 0x38], ax
mov qword [rsp + 0x48], r14
test r8, r8
je 0x140024921
movzx ecx, word [rbp - 0x6e]
shl rcx, 3
test rcx, rcx
je 0x140024919
mov rdi, r8
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r8
call fcn.14003c2e4
mov qword [rbp - 0x78], rsi
mov ecx, 1
mov dword [rbp - 0x70], ecx
test ebx, ebx
jne 0x1400249ef
movzx r13d, word [rbp - 0x7e]
mov dword [rsp + 0x3c], r13d
cmp r13w, cx
jae 0x1400249bd
lea edx, [rcx + 7]
call fcn.140039360
mov qword [rsp + 0x40], rax
mov rdi, rax
test rax, rax
jne 0x140024968
mov ebx, 0xfffffff0
mov dword [rsp + 0x30], ebx
jmp 0x1400249f7
mov rsi, qword [rsp + 0x78]
test rsi, rsi
je 0x1400249a4
movzx ebx, r13w
mov rdx, rsi
shl rbx, 3
mov rcx, rax
mov r8, rbx
call fcn.140037460
test rbx, rbx
je 0x14002499c
mov rdi, rsi
xor eax, eax
mov rcx, rbx
rep stosb byte [rdi], al
mov rdi, qword [rsp + 0x40]
mov rcx, rsi
call fcn.14003c2e4
mov ecx, 1
mov qword [rsp + 0x78], rdi
mov r13d, ecx
mov dword [rsp + 0x3c], ecx
mov word [rbp - 0x7e], cx
xor esi, esi
jmp 0x1400249c7
mov rdi, qword [rsp + 0x78]
mov qword [rsp + 0x40], rdi
movzx r8d, r13w
mov ebx, esi
shl r8, 3
xor edx, edx
mov rcx, rdi
mov dword [rsp + 0x30], ebx
call fcn.1400367b0
mov ecx, 1
mov qword [rdi], rcx
mov esi, ecx
mov word [rbp - 0x80], cx
jmp 0x140024a05
movzx eax, word [rbp - 0x7e]
mov dword [rsp + 0x3c], eax
mov rdi, qword [rsp + 0x78]
movzx esi, word [rbp - 0x80]
mov qword [rsp + 0x40], rdi
test ebx, ebx
jne 0x140025391
lea r13, [r12 + 0x10]
lea r14, [r12 + 0x20]
test rdi, rdi
je 0x140025384
lea rax, [rsp + 0x30]
mov dword [rbp - 0x48], 0x10001
xor ebx, ebx
mov qword [rbp - 0x50], rax
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x30], rbx
mov rcx, r14
call fcn.140029f00
test eax, eax
jne 0x140024c8f
lea rax, [rsp + 0x58]
cmp r12, rax
je 0x140024b09
cmp word [rsp + 0x62], bx
jne 0x140024a8f
movzx eax, word [r12 + 0xa]
lea edi, [rbx + 1]
test ax, ax
je 0x140024b0e
mov rcx, qword [r12]
mov r8d, eax
shl r8, 3
xor edx, edx
mov word [r12 + 8], di
call fcn.1400367b0
jmp 0x140024b0e
movzx edi, word [rsp + 0x62]
mov r15, qword [rsp + 0x58]
sub rdi, 1
je 0x140024aac
nop
cmp qword [r15 + rdi*8], rbx
jne 0x140024aac
sub rdi, 1
jne 0x140024aa0
movzx r8d, word [r12 + 0xa]
inc rdi
movzx eax, word [rsp + 0x60]
mov word [r12 + 8], ax
cmp r8, rdi
jae 0x140024adf
mov rdx, rdi
mov rcx, r12
call fcn.140029280
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
je 0x140024af5
jmp 0x140025351
mov rax, qword [r12]
sub r8, rdi
shl r8, 3
xor edx, edx
lea rcx, [rax + rdi*8]
call fcn.1400367b0
mov rcx, qword [r12]
lea r8, [rdi*8]
mov rdx, r15
call fcn.140037460
mov edi, 1
lea rax, [rsp + 0x68]
cmp r13, rax
je 0x140024bc8
cmp word [rsp + 0x72], 0
jne 0x140024b4b
movzx eax, word [r13 + 0xa]
test ax, ax
je 0x140024bc8
mov rcx, qword [r13]
mov r8d, eax
shl r8, 3
xor edx, edx
mov word [r13 + 8], di
call fcn.1400367b0
jmp 0x140024bc8
movzx edi, word [rsp + 0x72]
mov r15, qword [rsp + 0x48]
sub rdi, 1
je 0x140024b6d
nop dword [rax + rax]
cmp qword [r15 + rdi*8], 0
jne 0x140024b6d
sub rdi, 1
jne 0x140024b60
movzx r8d, word [r13 + 0xa]
inc rdi
movzx eax, word [rsp + 0x38]
mov word [r13 + 8], ax
cmp r8, rdi
jae 0x140024b9e
mov rdx, rdi
mov rcx, r13
call fcn.140029280
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
je 0x140024bb4
jmp 0x140025351
mov rax, qword [r13]
sub r8, rdi
shl r8, 3
xor edx, edx
lea rcx, [rax + rdi*8]
call fcn.1400367b0
mov rcx, qword [r13]
lea r8, [rdi*8]
mov rdx, r15
call fcn.140037460
xor edi, edi
lea rax, [rsp + 0x78]
mov ebx, edi
mov dword [rsp + 0x30], ebx
cmp r14, rax
jne 0x140024be3
mov dword [rsp + 0x30], ebx
jmp 0x140025351
mov eax, dword [rsp + 0x3c]
test ax, ax
jne 0x140024c1a
movzx eax, word [r14 + 0xa]
test ax, ax
je 0x140024c11
mov ecx, 1
mov r8d, eax
mov word [r14 + 8], cx
xor edx, edx
mov rcx, qword [r14]
shl r8, 3
call fcn.1400367b0
mov dword [rsp + 0x30], ebx
jmp 0x140025351
mov r13, qword [rsp + 0x40]
movzx edi, ax
sub rdi, 1
je 0x140024c35
cmp qword [r13 + rdi*8], rbx
jne 0x140024c35
sub rdi, 1
jne 0x140024c28
movzx r8d, word [r14 + 0xa]
inc rdi
mov word [r14 + 8], si
cmp r8, rdi
jae 0x140024c62
mov rdx, rdi
mov rcx, r14
call fcn.140029280
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025356
jmp 0x140024c77
mov rax, qword [r14]
sub r8, rdi
shl r8, 3
xor edx, edx
lea rcx, [rax + rdi*8]
call fcn.1400367b0
mov rcx, qword [r14]
lea r8, [rdi*8]
mov rdx, r13
call fcn.140037460
jmp 0x140025356
mov eax, dword [rsp + 0x3c]
movzx eax, ax
mov qword [rsp + 0x30], rbx
test rax, rax
je 0x140024cb7
lea rcx, [rax - 1]
lea rcx, [rdi + rcx*8]
cmp qword [rcx], rbx
jne 0x140024cb7
sub rcx, 8
sub rax, 1
jne 0x140024ca8
mov ecx, 1
lea rdx, [rsp + 0x30]
cmp qword [rdx], rbx
jne 0x140024cd0
sub rdx, 8
sub rcx, 1
jne 0x140024cc1
test rax, rax
jne 0x140024d17
test rcx, rcx
je 0x140024d23
cmp rcx, rax
ja 0x140024d40
test si, si
js 0x140024d40
test rax, rax
je 0x140024d23
lea rcx, [rax - 1]
lea r8, [rsp + 0x30]
lea rcx, [rdi + rcx*8]
sub r8, rdi
nop dword [rax]
mov rdx, qword [r8 + rcx]
cmp qword [rcx], rdx
ja 0x140024d1c
jb 0x140024d39
sub rcx, 8
sub rax, 1
jne 0x140024d00
jmp 0x140024d23
cmp rcx, rax
jae 0x140024cdd
movsx eax, si
test eax, eax
jne 0x140024d40
mov rdx, r12
mov rcx, r12
call fcn.140021b80
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x140025351
movsx eax, si
neg eax
jmp 0x140024d1f
lea rax, [rsp + 0x30]
mov dword [rbp - 0x38], 0x10001
mov esi, 1
mov qword [rbp - 0x40], rax
lea rdx, [rbp - 0x40]
mov qword [rsp + 0x30], rsi
lea rcx, [rsp + 0x78]
call fcn.140029f00
test eax, eax
jne 0x140025384
mov r8, r14
lea rcx, [rbp - 0x10]
mov rdx, r14
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024d9b
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
mov r8, r14
lea rdx, [rbp - 0x10]
lea rcx, [rbp]
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024dcf
mov rdx, r15
lea rcx, [rbp]
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024e05
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
lea r8, [rsp + 0x68]
lea rdx, [rbp]
lea rcx, [rbp]
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024e3b
mov rdx, r15
lea rcx, [rbp]
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
lea r9d, [rbx - 1]
mov r8, r12
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.14002a180
mov r8d, eax
test eax, eax
jne 0x140024f07
movzx edi, word [rbp - 8]
test di, di
jns 0x140024f07
mov qword [rsp + 0x50], 0
nop dword [rax + rax]
movzx ecx, word [rbp - 6]
test rcx, rcx
je 0x140024ea4
mov rax, qword [rbp - 0x10]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
cmp qword [rdx], 0
jne 0x140024ea4
sub rdx, 8
sub rcx, rsi
jne 0x140024e95
mov rax, rsi
lea rdx, [rsp + 0x50]
nop dword [rax]
cmp qword [rdx], 0
jne 0x140024ebf
sub rdx, 8
sub rax, rsi
jne 0x140024eb0
test rcx, rcx
jne 0x140024ecb
test rax, rax
je 0x140024f17
jmp 0x140024ed5
cmp rcx, rax
jbe 0x140024ed5
test di, di
je 0x140024f07
lea r8, [r15 + 8]
mov r9d, esi
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.14002a180
mov dword [rsp + 0x30], eax
mov r8d, eax
mov ebx, eax
test eax, eax
jne 0x140025351
movzx edi, word [rbp - 8]
test di, di
js 0x140024e80
mov ebx, r8d
mov dword [rsp + 0x30], ebx
test r8d, r8d
jne 0x140025351
mov r9, r13
lea r8, [rbp]
lea rdx, [rbp]
mov rcx, r15
call fcn.140022270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
lea rax, [rsp + 0x50]
mov dword [rbp - 0x28], 0x10001
xor edi, edi
mov qword [rbp - 0x30], rax
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x50], rdi
lea rcx, [rbp - 0x10]
call fcn.140029f00
test eax, eax
jne 0x140024fb6
lea rax, [rsp + 0x50]
mov qword [rsp + 0x50], rdi
lea rdx, [rbp - 0x20]
mov qword [rbp - 0x20], rax
lea rcx, [rbp]
mov dword [rbp - 0x18], 0x10001
call fcn.140029f00
test eax, eax
jne 0x140024fa3
lea r9, [rbp - 0x10]
mov r8, r12
mov rdx, r12
mov rcx, r15
call fcn.1400234a0
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x140025351
mov rcx, r12
call fcn.140021c80
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x140025351
lea r8, [rbp - 0x10]
mov rdx, r14
mov rcx, r14
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024fe0
mov rdx, r15
mov rcx, r14
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025015
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x20]
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x14002504a
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
mov r8, r12
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x14002507e
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x10]
call fcn.140029590
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.140022430
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
lea r8, [rbp]
mov rcx, r12
lea rdx, [rbp]
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x1400250e6
mov rdx, r15
mov rcx, r12
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
lea r9d, [rbx - 1]
mov rdx, r12
lea r8, [rbp - 0x10]
mov rcx, r12
call fcn.14002a180
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
cmp word [r12 + 8], di
jge 0x140025190
mov qword [rsp + 0x50], rdi
nop dword [rax]
movzx ecx, word [r12 + 0xa]
test rcx, rcx
je 0x140025145
mov rax, qword [r12]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
cmp qword [rdx], rdi
jne 0x140025145
sub rdx, 8
sub rcx, rsi
jne 0x140025137
mov rax, rsi
lea rdx, [rsp + 0x50]
nop dword [rax]
cmp qword [rdx], rdi
jne 0x14002515e
sub rdx, 8
sub rax, rsi
jne 0x140025150
test rcx, rcx
jne 0x140025168
test rax, rax
je 0x140025190
lea r8, [r15 + 8]
mov r9d, esi
mov rdx, r12
mov rcx, r12
call fcn.14002a180
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
cmp word [r12 + 8], di
jl 0x140025120
mov r9d, 0xffffffff
lea r8, [rbp + 0x20]
mov rdx, r12
mov rcx, r12
call fcn.14002a180
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
cmp word [r12 + 8], di
jge 0x140025230
mov qword [rsp + 0x50], rdi
movzx ecx, word [r12 + 0xa]
test rcx, rcx
je 0x1400251e5
mov rax, qword [r12]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
cmp qword [rdx], rdi
jne 0x1400251e5
sub rdx, 8
sub rcx, rsi
jne 0x1400251d7
mov rax, rsi
lea rdx, [rsp + 0x50]
nop dword [rax]
cmp qword [rdx], rdi
jne 0x1400251fe
sub rdx, 8
sub rax, rsi
jne 0x1400251f0
test rcx, rcx
jne 0x140025208
test rax, rax
je 0x140025230
lea r8, [r15 + 8]
mov r9d, esi
mov rdx, r12
mov rcx, r12
call fcn.14002a180
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
cmp word [r12 + 8], di
jl 0x1400251c0
mov r9, r12
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x10]
mov rcx, r15
call fcn.140022270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
lea r8, [rbp]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x14002527e
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
mov r8, r13
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x20]
call fcn.14002a350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x1400252b2
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.1400220d0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025351
lea r9d, [rbx - 1]
mov rcx, r13
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x10]
call fcn.14002a180
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
cmp word [r13 + 8], di
jge 0x140025351
mov qword [rsp + 0x50], rdi
movzx ecx, word [r13 + 0xa]
test rcx, rcx
je 0x14002530e
mov rax, qword [r13]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
nop word [rax + rax]
cmp qword [rdx], rdi
jne 0x14002530e
sub rdx, 8
sub rcx, rsi
jne 0x140025300
mov rax, rsi
lea rdx, [rsp + 0x50]
cmp qword [rdx], rdi
jne 0x140025324
sub rdx, 8
sub rax, rsi
jne 0x140025316
test rcx, rcx
jne 0x14002532e
test rax, rax
je 0x140025351
lea r8, [r15 + 8]
mov r9d, esi
mov rdx, r13
mov rcx, r13
call fcn.14002a180
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025351
cmp word [r13 + 8], di
jl 0x1400252e4
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
test ebx, ebx
jne 0x140025396
mov rdi, qword [rbp + 0xa8]
test rdi, rdi
je 0x140025396
mov r15, qword [rbp - 0x60]
jmp 0x140024571
movzx esi, word [rbp - 0x7e]
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x68]
jmp 0x14002539a
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x30], 0xffffb080
mov r13, qword [rsp + 0x40]
mov esi, dword [rsp + 0x3c]
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x1400253c1
movzx ecx, word [rsp + 0x62]
shl rcx, 3
test rcx, rcx
je 0x1400253b9
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.14003c2e4
test r14, r14
je 0x1400253e3
movzx ecx, word [rsp + 0x72]
shl rcx, 3
test rcx, rcx
je 0x1400253db
mov rdi, r14
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r14
call fcn.14003c2e4
test r13, r13
je 0x140025403
movzx ecx, si
shl rcx, 3
test rcx, rcx
je 0x1400253fb
mov rdi, r13
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r13
call fcn.14003c2e4
lea rsi, [rbp - 0x10]
mov r14d, 4
nop dword [rax]
dec r14
test rsi, rsi
je 0x140025448
mov rdx, qword [rsi]
test rdx, rdx
je 0x14002543c
movzx ecx, word [rsi + 0xa]
shl rcx, 3
test rcx, rcx
je 0x140025434
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.14003c2e4
xor eax, eax
mov dword [rsi + 8], 1
mov qword [rsi], rax
add rsi, 0x10
test r14, r14
jne 0x140025410
mov eax, dword [rsp + 0x30]
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400354e0
mov rbx, qword [rsp + 0x198]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret