Function at 0x140024350
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.140024270
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1400252e3
test rdi, rdi
je 0x140024441
mov r9, rsi
mov r8, rdi
mov rdx, r12
mov rcx, r15
call fcn.140023d20
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1400252e3
mov rdi, qword [rbp + 0xa8]
test rdi, rdi
je 0x1400252e3
dec rdi
lea r9, [rbp - 0x10]
mov r8, r12
mov qword [rbp + 0xa8], rdi
mov rdx, r12
mov rcx, r15
call fcn.140023380
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025276
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 0x140024509
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.140028ef0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025254
lea rdx, [r14 + 0x10]
movzx r8d, sil
lea rcx, [rsp + 0x68]
call fcn.140028ef0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025254
inc dil
cmp dil, byte [rsp + 0x3a]
jb 0x1400244a0
movzx r8d, word [rsp + 0x70]
mov r14, qword [rsp + 0x68]
jmp 0x14002450f
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 0x140024542
lea rcx, [rax - 1]
lea rcx, [r14 + rcx*8]
cmp qword [rcx], rsi
jne 0x140024542
sub rcx, 8
sub rax, rdx
jne 0x140024534
mov rcx, rdx
lea rdx, [rsp + 0x48]
nop word [rax + rax]
cmp qword [rdx], rsi
jne 0x14002455f
sub rdx, 8
sub rcx, 1
jne 0x140024550
test rax, rax
jne 0x1400245cf
test rcx, rcx
jne 0x1400245da
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.14002a060
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x1400247c8
movzx esi, word [rbp - 0x6e]
cmp rsi, 0x2710
jbe 0x140024636
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 0x1400247e0
cmp rcx, rax
jae 0x1400245dd
movsx r14d, r8w
jmp 0x14002456c
cmp rcx, rax
jbe 0x1400245e7
mov r14d, 0xffffffff
jmp 0x14002456c
test r8w, r8w
jns 0x1400245f8
mov r14d, 0xffffffff
jmp 0x14002456c
test rax, rax
je 0x140024569
lea rdx, [rsp + 0x48]
sub r14, rdx
lea rcx, [rsp + rax*8 + 0x40]
nop
mov rdx, qword [r14 + rcx]
cmp rdx, qword [rcx]
ja 0x1400245d4
jb 0x14002462a
sub rcx, 8
sub rax, 1
jne 0x140024610
jmp 0x140024569
movsx r14d, r8w
neg r14d
jmp 0x14002456c
movzx r12d, word [rsp + 0x72]
cmp r12, rsi
jae 0x1400246cb
mov edx, 8
mov rcx, rsi
call fcn.140039240
mov r15, rax
test rax, rax
jne 0x14002468a
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 0x1400247e0
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x1400246c1
lea r12, [r12*8]
mov rdx, rbx
mov r8, r12
mov rcx, r15
call fcn.140037340
test r12, r12
je 0x1400246b9
mov rdi, rbx
xor eax, eax
mov rcx, r12
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.14003c094
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 [0x140068170]
xor rcx, rax
mov rax, qword [0x140068170]
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 0x1400247a1
test rsi, rsi
je 0x1400247a1
sub r8, r14
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x140068170]
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 0x140024760
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 0x1400247bc
nop
and qword [r14 + rsi*8], rdx
inc rsi
cmp rsi, rax
jb 0x1400247b0
mov r12, qword [rbp - 0x68]
mov r15, qword [rbp - 0x60]
xor esi, esi
jmp 0x1400247e0
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 0x140024801
movzx ecx, word [rbp - 0x6e]
shl rcx, 3
test rcx, rcx
je 0x1400247f9
mov rdi, r8
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r8
call fcn.14003c094
mov qword [rbp - 0x78], rsi
mov ecx, 1
mov dword [rbp - 0x70], ecx
test ebx, ebx
jne 0x1400248cf
movzx r13d, word [rbp - 0x7e]
mov dword [rsp + 0x3c], r13d
cmp r13w, cx
jae 0x14002489d
lea edx, [rcx + 7]
call fcn.140039240
mov qword [rsp + 0x40], rax
mov rdi, rax
test rax, rax
jne 0x140024848
mov ebx, 0xfffffff0
mov dword [rsp + 0x30], ebx
jmp 0x1400248d7
mov rsi, qword [rsp + 0x78]
test rsi, rsi
je 0x140024884
movzx ebx, r13w
mov rdx, rsi
shl rbx, 3
mov rcx, rax
mov r8, rbx
call fcn.140037340
test rbx, rbx
je 0x14002487c
mov rdi, rsi
xor eax, eax
mov rcx, rbx
rep stosb byte [rdi], al
mov rdi, qword [rsp + 0x40]
mov rcx, rsi
call fcn.14003c094
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 0x1400248a7
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.140036690
mov ecx, 1
mov qword [rdi], rcx
mov esi, ecx
mov word [rbp - 0x80], cx
jmp 0x1400248e5
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 0x140025271
lea r13, [r12 + 0x10]
lea r14, [r12 + 0x20]
test rdi, rdi
je 0x140025264
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.140029de0
test eax, eax
jne 0x140024b6f
lea rax, [rsp + 0x58]
cmp r12, rax
je 0x1400249e9
cmp word [rsp + 0x62], bx
jne 0x14002496f
movzx eax, word [r12 + 0xa]
lea edi, [rbx + 1]
test ax, ax
je 0x1400249ee
mov rcx, qword [r12]
mov r8d, eax
shl r8, 3
xor edx, edx
mov word [r12 + 8], di
call fcn.140036690
jmp 0x1400249ee
movzx edi, word [rsp + 0x62]
mov r15, qword [rsp + 0x58]
sub rdi, 1
je 0x14002498c
nop
cmp qword [r15 + rdi*8], rbx
jne 0x14002498c
sub rdi, 1
jne 0x140024980
movzx r8d, word [r12 + 0xa]
inc rdi
movzx eax, word [rsp + 0x60]
mov word [r12 + 8], ax
cmp r8, rdi
jae 0x1400249bf
mov rdx, rdi
mov rcx, r12
call fcn.140029160
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
je 0x1400249d5
jmp 0x140025231
mov rax, qword [r12]
sub r8, rdi
shl r8, 3
xor edx, edx
lea rcx, [rax + rdi*8]
call fcn.140036690
mov rcx, qword [r12]
lea r8, [rdi*8]
mov rdx, r15
call fcn.140037340
mov edi, 1
lea rax, [rsp + 0x68]
cmp r13, rax
je 0x140024aa8
cmp word [rsp + 0x72], 0
jne 0x140024a2b
movzx eax, word [r13 + 0xa]
test ax, ax
je 0x140024aa8
mov rcx, qword [r13]
mov r8d, eax
shl r8, 3
xor edx, edx
mov word [r13 + 8], di
call fcn.140036690
jmp 0x140024aa8
movzx edi, word [rsp + 0x72]
mov r15, qword [rsp + 0x48]
sub rdi, 1
je 0x140024a4d
nop dword [rax + rax]
cmp qword [r15 + rdi*8], 0
jne 0x140024a4d
sub rdi, 1
jne 0x140024a40
movzx r8d, word [r13 + 0xa]
inc rdi
movzx eax, word [rsp + 0x38]
mov word [r13 + 8], ax
cmp r8, rdi
jae 0x140024a7e
mov rdx, rdi
mov rcx, r13
call fcn.140029160
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
je 0x140024a94
jmp 0x140025231
mov rax, qword [r13]
sub r8, rdi
shl r8, 3
xor edx, edx
lea rcx, [rax + rdi*8]
call fcn.140036690
mov rcx, qword [r13]
lea r8, [rdi*8]
mov rdx, r15
call fcn.140037340
xor edi, edi
lea rax, [rsp + 0x78]
mov ebx, edi
mov dword [rsp + 0x30], ebx
cmp r14, rax
jne 0x140024ac3
mov dword [rsp + 0x30], ebx
jmp 0x140025231
mov eax, dword [rsp + 0x3c]
test ax, ax
jne 0x140024afa
movzx eax, word [r14 + 0xa]
test ax, ax
je 0x140024af1
mov ecx, 1
mov r8d, eax
mov word [r14 + 8], cx
xor edx, edx
mov rcx, qword [r14]
shl r8, 3
call fcn.140036690
mov dword [rsp + 0x30], ebx
jmp 0x140025231
mov r13, qword [rsp + 0x40]
movzx edi, ax
sub rdi, 1
je 0x140024b15
cmp qword [r13 + rdi*8], rbx
jne 0x140024b15
sub rdi, 1
jne 0x140024b08
movzx r8d, word [r14 + 0xa]
inc rdi
mov word [r14 + 8], si
cmp r8, rdi
jae 0x140024b42
mov rdx, rdi
mov rcx, r14
call fcn.140029160
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025236
jmp 0x140024b57
mov rax, qword [r14]
sub r8, rdi
shl r8, 3
xor edx, edx
lea rcx, [rax + rdi*8]
call fcn.140036690
mov rcx, qword [r14]
lea r8, [rdi*8]
mov rdx, r13
call fcn.140037340
jmp 0x140025236
mov eax, dword [rsp + 0x3c]
movzx eax, ax
mov qword [rsp + 0x30], rbx
test rax, rax
je 0x140024b97
lea rcx, [rax - 1]
lea rcx, [rdi + rcx*8]
cmp qword [rcx], rbx
jne 0x140024b97
sub rcx, 8
sub rax, 1
jne 0x140024b88
mov ecx, 1
lea rdx, [rsp + 0x30]
cmp qword [rdx], rbx
jne 0x140024bb0
sub rdx, 8
sub rcx, 1
jne 0x140024ba1
test rax, rax
jne 0x140024bf7
test rcx, rcx
je 0x140024c03
cmp rcx, rax
ja 0x140024c20
test si, si
js 0x140024c20
test rax, rax
je 0x140024c03
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 0x140024bfc
jb 0x140024c19
sub rcx, 8
sub rax, 1
jne 0x140024be0
jmp 0x140024c03
cmp rcx, rax
jae 0x140024bbd
movsx eax, si
test eax, eax
jne 0x140024c20
mov rdx, r12
mov rcx, r12
call fcn.140021a60
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x140025231
movsx eax, si
neg eax
jmp 0x140024bff
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.140029de0
test eax, eax
jne 0x140025264
mov r8, r14
lea rcx, [rbp - 0x10]
mov rdx, r14
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024c7b
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
mov r8, r14
lea rdx, [rbp - 0x10]
lea rcx, [rbp]
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024caf
mov rdx, r15
lea rcx, [rbp]
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024ce5
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
lea r8, [rsp + 0x68]
lea rdx, [rbp]
lea rcx, [rbp]
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024d1b
mov rdx, r15
lea rcx, [rbp]
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
lea r9d, [rbx - 1]
mov r8, r12
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.14002a060
mov r8d, eax
test eax, eax
jne 0x140024de7
movzx edi, word [rbp - 8]
test di, di
jns 0x140024de7
mov qword [rsp + 0x50], 0
nop dword [rax + rax]
movzx ecx, word [rbp - 6]
test rcx, rcx
je 0x140024d84
mov rax, qword [rbp - 0x10]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
cmp qword [rdx], 0
jne 0x140024d84
sub rdx, 8
sub rcx, rsi
jne 0x140024d75
mov rax, rsi
lea rdx, [rsp + 0x50]
nop dword [rax]
cmp qword [rdx], 0
jne 0x140024d9f
sub rdx, 8
sub rax, rsi
jne 0x140024d90
test rcx, rcx
jne 0x140024dab
test rax, rax
je 0x140024df7
jmp 0x140024db5
cmp rcx, rax
jbe 0x140024db5
test di, di
je 0x140024de7
lea r8, [r15 + 8]
mov r9d, esi
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.14002a060
mov dword [rsp + 0x30], eax
mov r8d, eax
mov ebx, eax
test eax, eax
jne 0x140025231
movzx edi, word [rbp - 8]
test di, di
js 0x140024d60
mov ebx, r8d
mov dword [rsp + 0x30], ebx
test r8d, r8d
jne 0x140025231
mov r9, r13
lea r8, [rbp]
lea rdx, [rbp]
mov rcx, r15
call fcn.140022150
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
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.140029de0
test eax, eax
jne 0x140024e96
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.140029de0
test eax, eax
jne 0x140024e83
lea r9, [rbp - 0x10]
mov r8, r12
mov rdx, r12
mov rcx, r15
call fcn.140023380
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x140025231
mov rcx, r12
call fcn.140021b60
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x140025231
lea r8, [rbp - 0x10]
mov rdx, r14
mov rcx, r14
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024ec0
mov rdx, r15
mov rcx, r14
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024ef5
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x20]
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024f2a
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
mov r8, r12
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024f5e
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x10]
call fcn.140029470
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.140022310
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
lea r8, [rbp]
mov rcx, r12
lea rdx, [rbp]
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024fc6
mov rdx, r15
mov rcx, r12
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
lea r9d, [rbx - 1]
mov rdx, r12
lea r8, [rbp - 0x10]
mov rcx, r12
call fcn.14002a060
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
cmp word [r12 + 8], di
jge 0x140025070
mov qword [rsp + 0x50], rdi
nop dword [rax]
movzx ecx, word [r12 + 0xa]
test rcx, rcx
je 0x140025025
mov rax, qword [r12]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
cmp qword [rdx], rdi
jne 0x140025025
sub rdx, 8
sub rcx, rsi
jne 0x140025017
mov rax, rsi
lea rdx, [rsp + 0x50]
nop dword [rax]
cmp qword [rdx], rdi
jne 0x14002503e
sub rdx, 8
sub rax, rsi
jne 0x140025030
test rcx, rcx
jne 0x140025048
test rax, rax
je 0x140025070
lea r8, [r15 + 8]
mov r9d, esi
mov rdx, r12
mov rcx, r12
call fcn.14002a060
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
cmp word [r12 + 8], di
jl 0x140025000
mov r9d, 0xffffffff
lea r8, [rbp + 0x20]
mov rdx, r12
mov rcx, r12
call fcn.14002a060
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
cmp word [r12 + 8], di
jge 0x140025110
mov qword [rsp + 0x50], rdi
movzx ecx, word [r12 + 0xa]
test rcx, rcx
je 0x1400250c5
mov rax, qword [r12]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
cmp qword [rdx], rdi
jne 0x1400250c5
sub rdx, 8
sub rcx, rsi
jne 0x1400250b7
mov rax, rsi
lea rdx, [rsp + 0x50]
nop dword [rax]
cmp qword [rdx], rdi
jne 0x1400250de
sub rdx, 8
sub rax, rsi
jne 0x1400250d0
test rcx, rcx
jne 0x1400250e8
test rax, rax
je 0x140025110
lea r8, [r15 + 8]
mov r9d, esi
mov rdx, r12
mov rcx, r12
call fcn.14002a060
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
cmp word [r12 + 8], di
jl 0x1400250a0
mov r9, r12
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x10]
mov rcx, r15
call fcn.140022150
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
lea r8, [rbp]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x14002515e
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
mov r8, r13
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x20]
call fcn.14002a230
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025192
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.140021fb0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025231
lea r9d, [rbx - 1]
mov rcx, r13
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x10]
call fcn.14002a060
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
cmp word [r13 + 8], di
jge 0x140025231
mov qword [rsp + 0x50], rdi
movzx ecx, word [r13 + 0xa]
test rcx, rcx
je 0x1400251ee
mov rax, qword [r13]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
nop word [rax + rax]
cmp qword [rdx], rdi
jne 0x1400251ee
sub rdx, 8
sub rcx, rsi
jne 0x1400251e0
mov rax, rsi
lea rdx, [rsp + 0x50]
cmp qword [rdx], rdi
jne 0x140025204
sub rdx, 8
sub rax, rsi
jne 0x1400251f6
test rcx, rcx
jne 0x14002520e
test rax, rax
je 0x140025231
lea r8, [r15 + 8]
mov r9d, esi
mov rdx, r13
mov rcx, r13
call fcn.14002a060
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025231
cmp word [r13 + 8], di
jl 0x1400251c4
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
test ebx, ebx
jne 0x140025276
mov rdi, qword [rbp + 0xa8]
test rdi, rdi
je 0x140025276
mov r15, qword [rbp - 0x60]
jmp 0x140024451
movzx esi, word [rbp - 0x7e]
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x68]
jmp 0x14002527a
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 0x1400252a1
movzx ecx, word [rsp + 0x62]
shl rcx, 3
test rcx, rcx
je 0x140025299
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.14003c094
test r14, r14
je 0x1400252c3
movzx ecx, word [rsp + 0x72]
shl rcx, 3
test rcx, rcx
je 0x1400252bb
mov rdi, r14
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r14
call fcn.14003c094
test r13, r13
je 0x1400252e3
movzx ecx, si
shl rcx, 3
test rcx, rcx
je 0x1400252db
mov rdi, r13
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r13
call fcn.14003c094
lea rsi, [rbp - 0x10]
mov r14d, 4
nop dword [rax]
dec r14
test rsi, rsi
je 0x140025328
mov rdx, qword [rsi]
test rdx, rdx
je 0x14002531c
movzx ecx, word [rsi + 0xa]
shl rcx, 3
test rcx, rcx
je 0x140025314
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.14003c094
xor eax, eax
mov dword [rsi + 8], 1
mov qword [rsi], rax
add rsi, 0x10
test r14, r14
jne 0x1400252f0
mov eax, dword [rsp + 0x30]
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.1400353c0
mov rbx, qword [rsp + 0x198]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret