Function at 0x140024390
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.1400242b0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025323
test rdi, rdi
je 0x140024481
mov r9, rsi
mov r8, rdi
mov rdx, r12
mov rcx, r15
call fcn.140023d60
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025323
mov rdi, qword [rbp + 0xa8]
test rdi, rdi
je 0x140025323
dec rdi
lea r9, [rbp - 0x10]
mov r8, r12
mov qword [rbp + 0xa8], rdi
mov rdx, r12
mov rcx, r15
call fcn.1400233c0
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1400252b6
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 0x140024549
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.140028f30
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025294
lea rdx, [r14 + 0x10]
movzx r8d, sil
lea rcx, [rsp + 0x68]
call fcn.140028f30
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x140025294
inc dil
cmp dil, byte [rsp + 0x3a]
jb 0x1400244e0
movzx r8d, word [rsp + 0x70]
mov r14, qword [rsp + 0x68]
jmp 0x14002454f
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 0x140024582
lea rcx, [rax - 1]
lea rcx, [r14 + rcx*8]
cmp qword [rcx], rsi
jne 0x140024582
sub rcx, 8
sub rax, rdx
jne 0x140024574
mov rcx, rdx
lea rdx, [rsp + 0x48]
nop word [rax + rax]
cmp qword [rdx], rsi
jne 0x14002459f
sub rdx, 8
sub rcx, 1
jne 0x140024590
test rax, rax
jne 0x14002460f
test rcx, rcx
jne 0x14002461a
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.14002a0a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024808
movzx esi, word [rbp - 0x6e]
cmp rsi, 0x2710
jbe 0x140024676
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 0x140024820
cmp rcx, rax
jae 0x14002461d
movsx r14d, r8w
jmp 0x1400245ac
cmp rcx, rax
jbe 0x140024627
mov r14d, 0xffffffff
jmp 0x1400245ac
test r8w, r8w
jns 0x140024638
mov r14d, 0xffffffff
jmp 0x1400245ac
test rax, rax
je 0x1400245a9
lea rdx, [rsp + 0x48]
sub r14, rdx
lea rcx, [rsp + rax*8 + 0x40]
nop
mov rdx, qword [r14 + rcx]
cmp rdx, qword [rcx]
ja 0x140024614
jb 0x14002466a
sub rcx, 8
sub rax, 1
jne 0x140024650
jmp 0x1400245a9
movsx r14d, r8w
neg r14d
jmp 0x1400245ac
movzx r12d, word [rsp + 0x72]
cmp r12, rsi
jae 0x14002470b
mov edx, 8
mov rcx, rsi
call fcn.140039280
mov r15, rax
test rax, rax
jne 0x1400246ca
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 0x140024820
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x140024701
lea r12, [r12*8]
mov rdx, rbx
mov r8, r12
mov rcx, r15
call fcn.140037380
test r12, r12
je 0x1400246f9
mov rdi, rbx
xor eax, eax
mov rcx, r12
rep stosb byte [rdi], al
mov rcx, rbx
call fcn.14003c184
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 [0x140068190]
xor rcx, rax
mov rax, qword [0x140068190]
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 0x1400247e1
test rsi, rsi
je 0x1400247e1
sub r8, r14
mov rdi, rsi
nop dword [rax]
nop word [rax + rax]
mov rcx, qword [0x140068190]
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 0x1400247a0
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 0x1400247fc
nop
and qword [r14 + rsi*8], rdx
inc rsi
cmp rsi, rax
jb 0x1400247f0
mov r12, qword [rbp - 0x68]
mov r15, qword [rbp - 0x60]
xor esi, esi
jmp 0x140024820
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 0x140024841
movzx ecx, word [rbp - 0x6e]
shl rcx, 3
test rcx, rcx
je 0x140024839
mov rdi, r8
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r8
call fcn.14003c184
mov qword [rbp - 0x78], rsi
mov ecx, 1
mov dword [rbp - 0x70], ecx
test ebx, ebx
jne 0x14002490f
movzx r13d, word [rbp - 0x7e]
mov dword [rsp + 0x3c], r13d
cmp r13w, cx
jae 0x1400248dd
lea edx, [rcx + 7]
call fcn.140039280
mov qword [rsp + 0x40], rax
mov rdi, rax
test rax, rax
jne 0x140024888
mov ebx, 0xfffffff0
mov dword [rsp + 0x30], ebx
jmp 0x140024917
mov rsi, qword [rsp + 0x78]
test rsi, rsi
je 0x1400248c4
movzx ebx, r13w
mov rdx, rsi
shl rbx, 3
mov rcx, rax
mov r8, rbx
call fcn.140037380
test rbx, rbx
je 0x1400248bc
mov rdi, rsi
xor eax, eax
mov rcx, rbx
rep stosb byte [rdi], al
mov rdi, qword [rsp + 0x40]
mov rcx, rsi
call fcn.14003c184
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 0x1400248e7
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.1400366d0
mov ecx, 1
mov qword [rdi], rcx
mov esi, ecx
mov word [rbp - 0x80], cx
jmp 0x140024925
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 0x1400252b1
lea r13, [r12 + 0x10]
lea r14, [r12 + 0x20]
test rdi, rdi
je 0x1400252a4
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.140029e20
test eax, eax
jne 0x140024baf
lea rax, [rsp + 0x58]
cmp r12, rax
je 0x140024a29
cmp word [rsp + 0x62], bx
jne 0x1400249af
movzx eax, word [r12 + 0xa]
lea edi, [rbx + 1]
test ax, ax
je 0x140024a2e
mov rcx, qword [r12]
mov r8d, eax
shl r8, 3
xor edx, edx
mov word [r12 + 8], di
call fcn.1400366d0
jmp 0x140024a2e
movzx edi, word [rsp + 0x62]
mov r15, qword [rsp + 0x58]
sub rdi, 1
je 0x1400249cc
nop
cmp qword [r15 + rdi*8], rbx
jne 0x1400249cc
sub rdi, 1
jne 0x1400249c0
movzx r8d, word [r12 + 0xa]
inc rdi
movzx eax, word [rsp + 0x60]
mov word [r12 + 8], ax
cmp r8, rdi
jae 0x1400249ff
mov rdx, rdi
mov rcx, r12
call fcn.1400291a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
je 0x140024a15
jmp 0x140025271
mov rax, qword [r12]
sub r8, rdi
shl r8, 3
xor edx, edx
lea rcx, [rax + rdi*8]
call fcn.1400366d0
mov rcx, qword [r12]
lea r8, [rdi*8]
mov rdx, r15
call fcn.140037380
mov edi, 1
lea rax, [rsp + 0x68]
cmp r13, rax
je 0x140024ae8
cmp word [rsp + 0x72], 0
jne 0x140024a6b
movzx eax, word [r13 + 0xa]
test ax, ax
je 0x140024ae8
mov rcx, qword [r13]
mov r8d, eax
shl r8, 3
xor edx, edx
mov word [r13 + 8], di
call fcn.1400366d0
jmp 0x140024ae8
movzx edi, word [rsp + 0x72]
mov r15, qword [rsp + 0x48]
sub rdi, 1
je 0x140024a8d
nop dword [rax + rax]
cmp qword [r15 + rdi*8], 0
jne 0x140024a8d
sub rdi, 1
jne 0x140024a80
movzx r8d, word [r13 + 0xa]
inc rdi
movzx eax, word [rsp + 0x38]
mov word [r13 + 8], ax
cmp r8, rdi
jae 0x140024abe
mov rdx, rdi
mov rcx, r13
call fcn.1400291a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
je 0x140024ad4
jmp 0x140025271
mov rax, qword [r13]
sub r8, rdi
shl r8, 3
xor edx, edx
lea rcx, [rax + rdi*8]
call fcn.1400366d0
mov rcx, qword [r13]
lea r8, [rdi*8]
mov rdx, r15
call fcn.140037380
xor edi, edi
lea rax, [rsp + 0x78]
mov ebx, edi
mov dword [rsp + 0x30], ebx
cmp r14, rax
jne 0x140024b03
mov dword [rsp + 0x30], ebx
jmp 0x140025271
mov eax, dword [rsp + 0x3c]
test ax, ax
jne 0x140024b3a
movzx eax, word [r14 + 0xa]
test ax, ax
je 0x140024b31
mov ecx, 1
mov r8d, eax
mov word [r14 + 8], cx
xor edx, edx
mov rcx, qword [r14]
shl r8, 3
call fcn.1400366d0
mov dword [rsp + 0x30], ebx
jmp 0x140025271
mov r13, qword [rsp + 0x40]
movzx edi, ax
sub rdi, 1
je 0x140024b55
cmp qword [r13 + rdi*8], rbx
jne 0x140024b55
sub rdi, 1
jne 0x140024b48
movzx r8d, word [r14 + 0xa]
inc rdi
mov word [r14 + 8], si
cmp r8, rdi
jae 0x140024b82
mov rdx, rdi
mov rcx, r14
call fcn.1400291a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025276
jmp 0x140024b97
mov rax, qword [r14]
sub r8, rdi
shl r8, 3
xor edx, edx
lea rcx, [rax + rdi*8]
call fcn.1400366d0
mov rcx, qword [r14]
lea r8, [rdi*8]
mov rdx, r13
call fcn.140037380
jmp 0x140025276
mov eax, dword [rsp + 0x3c]
movzx eax, ax
mov qword [rsp + 0x30], rbx
test rax, rax
je 0x140024bd7
lea rcx, [rax - 1]
lea rcx, [rdi + rcx*8]
cmp qword [rcx], rbx
jne 0x140024bd7
sub rcx, 8
sub rax, 1
jne 0x140024bc8
mov ecx, 1
lea rdx, [rsp + 0x30]
cmp qword [rdx], rbx
jne 0x140024bf0
sub rdx, 8
sub rcx, 1
jne 0x140024be1
test rax, rax
jne 0x140024c37
test rcx, rcx
je 0x140024c43
cmp rcx, rax
ja 0x140024c60
test si, si
js 0x140024c60
test rax, rax
je 0x140024c43
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 0x140024c3c
jb 0x140024c59
sub rcx, 8
sub rax, 1
jne 0x140024c20
jmp 0x140024c43
cmp rcx, rax
jae 0x140024bfd
movsx eax, si
test eax, eax
jne 0x140024c60
mov rdx, r12
mov rcx, r12
call fcn.140021aa0
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x140025271
movsx eax, si
neg eax
jmp 0x140024c3f
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.140029e20
test eax, eax
jne 0x1400252a4
mov r8, r14
lea rcx, [rbp - 0x10]
mov rdx, r14
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024cbb
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
mov r8, r14
lea rdx, [rbp - 0x10]
lea rcx, [rbp]
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024cef
mov rdx, r15
lea rcx, [rbp]
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
lea r8, [rsp + 0x58]
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024d25
mov rdx, r15
lea rcx, [rbp - 0x10]
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
lea r8, [rsp + 0x68]
lea rdx, [rbp]
lea rcx, [rbp]
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024d5b
mov rdx, r15
lea rcx, [rbp]
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
lea r9d, [rbx - 1]
mov r8, r12
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.14002a0a0
mov r8d, eax
test eax, eax
jne 0x140024e27
movzx edi, word [rbp - 8]
test di, di
jns 0x140024e27
mov qword [rsp + 0x50], 0
nop dword [rax + rax]
movzx ecx, word [rbp - 6]
test rcx, rcx
je 0x140024dc4
mov rax, qword [rbp - 0x10]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
cmp qword [rdx], 0
jne 0x140024dc4
sub rdx, 8
sub rcx, rsi
jne 0x140024db5
mov rax, rsi
lea rdx, [rsp + 0x50]
nop dword [rax]
cmp qword [rdx], 0
jne 0x140024ddf
sub rdx, 8
sub rax, rsi
jne 0x140024dd0
test rcx, rcx
jne 0x140024deb
test rax, rax
je 0x140024e37
jmp 0x140024df5
cmp rcx, rax
jbe 0x140024df5
test di, di
je 0x140024e27
lea r8, [r15 + 8]
mov r9d, esi
lea rdx, [rbp - 0x10]
lea rcx, [rbp - 0x10]
call fcn.14002a0a0
mov dword [rsp + 0x30], eax
mov r8d, eax
mov ebx, eax
test eax, eax
jne 0x140025271
movzx edi, word [rbp - 8]
test di, di
js 0x140024da0
mov ebx, r8d
mov dword [rsp + 0x30], ebx
test r8d, r8d
jne 0x140025271
mov r9, r13
lea r8, [rbp]
lea rdx, [rbp]
mov rcx, r15
call fcn.140022190
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
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.140029e20
test eax, eax
jne 0x140024ed6
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.140029e20
test eax, eax
jne 0x140024ec3
lea r9, [rbp - 0x10]
mov r8, r12
mov rdx, r12
mov rcx, r15
call fcn.1400233c0
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x140025271
mov rcx, r12
call fcn.140021ba0
mov ebx, eax
mov dword [rsp + 0x30], eax
jmp 0x140025271
lea r8, [rbp - 0x10]
mov rdx, r14
mov rcx, r14
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024f00
mov rdx, r15
mov rcx, r14
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
lea r8, [rbp - 0x10]
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024f35
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x20]
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024f6a
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
mov r8, r12
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140024f9e
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x10]
call fcn.1400294b0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
lea rdx, [rbp - 0x10]
mov rcx, r15
call fcn.140022350
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
lea r8, [rbp]
mov rcx, r12
lea rdx, [rbp]
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025006
mov rdx, r15
mov rcx, r12
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
lea r9d, [rbx - 1]
mov rdx, r12
lea r8, [rbp - 0x10]
mov rcx, r12
call fcn.14002a0a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
cmp word [r12 + 8], di
jge 0x1400250b0
mov qword [rsp + 0x50], rdi
nop dword [rax]
movzx ecx, word [r12 + 0xa]
test rcx, rcx
je 0x140025065
mov rax, qword [r12]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
cmp qword [rdx], rdi
jne 0x140025065
sub rdx, 8
sub rcx, rsi
jne 0x140025057
mov rax, rsi
lea rdx, [rsp + 0x50]
nop dword [rax]
cmp qword [rdx], rdi
jne 0x14002507e
sub rdx, 8
sub rax, rsi
jne 0x140025070
test rcx, rcx
jne 0x140025088
test rax, rax
je 0x1400250b0
lea r8, [r15 + 8]
mov r9d, esi
mov rdx, r12
mov rcx, r12
call fcn.14002a0a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
cmp word [r12 + 8], di
jl 0x140025040
mov r9d, 0xffffffff
lea r8, [rbp + 0x20]
mov rdx, r12
mov rcx, r12
call fcn.14002a0a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
cmp word [r12 + 8], di
jge 0x140025150
mov qword [rsp + 0x50], rdi
movzx ecx, word [r12 + 0xa]
test rcx, rcx
je 0x140025105
mov rax, qword [r12]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
cmp qword [rdx], rdi
jne 0x140025105
sub rdx, 8
sub rcx, rsi
jne 0x1400250f7
mov rax, rsi
lea rdx, [rsp + 0x50]
nop dword [rax]
cmp qword [rdx], rdi
jne 0x14002511e
sub rdx, 8
sub rax, rsi
jne 0x140025110
test rcx, rcx
jne 0x140025128
test rax, rax
je 0x140025150
lea r8, [r15 + 8]
mov r9d, esi
mov rdx, r12
mov rcx, r12
call fcn.14002a0a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
cmp word [r12 + 8], di
jl 0x1400250e0
mov r9, r12
lea r8, [rbp + 0x10]
lea rdx, [rbp + 0x10]
mov rcx, r15
call fcn.140022190
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
lea r8, [rbp]
lea rdx, [rbp + 0x10]
lea rcx, [rbp + 0x10]
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x14002519e
mov rdx, r15
lea rcx, [rbp + 0x10]
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
mov r8, r13
lea rdx, [rbp + 0x20]
lea rcx, [rbp + 0x20]
call fcn.14002a270
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x1400251d2
mov rdx, r15
lea rcx, [rbp + 0x20]
call fcn.140021ff0
mov ebx, eax
mov dword [rsp + 0x30], eax
test ebx, ebx
jne 0x140025271
lea r9d, [rbx - 1]
mov rcx, r13
lea r8, [rbp + 0x20]
lea rdx, [rbp + 0x10]
call fcn.14002a0a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
cmp word [r13 + 8], di
jge 0x140025271
mov qword [rsp + 0x50], rdi
movzx ecx, word [r13 + 0xa]
test rcx, rcx
je 0x14002522e
mov rax, qword [r13]
lea rdx, [rcx - 1]
lea rdx, [rax + rdx*8]
nop word [rax + rax]
cmp qword [rdx], rdi
jne 0x14002522e
sub rdx, 8
sub rcx, rsi
jne 0x140025220
mov rax, rsi
lea rdx, [rsp + 0x50]
cmp qword [rdx], rdi
jne 0x140025244
sub rdx, 8
sub rax, rsi
jne 0x140025236
test rcx, rcx
jne 0x14002524e
test rax, rax
je 0x140025271
lea r8, [r15 + 8]
mov r9d, esi
mov rdx, r13
mov rcx, r13
call fcn.14002a0a0
mov dword [rsp + 0x30], eax
mov ebx, eax
test eax, eax
jne 0x140025271
cmp word [r13 + 8], di
jl 0x140025204
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
test ebx, ebx
jne 0x1400252b6
mov rdi, qword [rbp + 0xa8]
test rdi, rdi
je 0x1400252b6
mov r15, qword [rbp - 0x60]
jmp 0x140024491
movzx esi, word [rbp - 0x7e]
mov r13, qword [rsp + 0x78]
mov r14, qword [rsp + 0x68]
jmp 0x1400252ba
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 0x1400252e1
movzx ecx, word [rsp + 0x62]
shl rcx, 3
test rcx, rcx
je 0x1400252d9
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.14003c184
test r14, r14
je 0x140025303
movzx ecx, word [rsp + 0x72]
shl rcx, 3
test rcx, rcx
je 0x1400252fb
mov rdi, r14
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r14
call fcn.14003c184
test r13, r13
je 0x140025323
movzx ecx, si
shl rcx, 3
test rcx, rcx
je 0x14002531b
mov rdi, r13
xor eax, eax
rep stosb byte [rdi], al
mov rcx, r13
call fcn.14003c184
lea rsi, [rbp - 0x10]
mov r14d, 4
nop dword [rax]
dec r14
test rsi, rsi
je 0x140025368
mov rdx, qword [rsi]
test rdx, rdx
je 0x14002535c
movzx ecx, word [rsi + 0xa]
shl rcx, 3
test rcx, rcx
je 0x140025354
mov rdi, rdx
xor eax, eax
rep stosb byte [rdi], al
mov rcx, rdx
call fcn.14003c184
xor eax, eax
mov dword [rsi + 8], 1
mov qword [rsi], rax
add rsi, 0x10
test r14, r14
jne 0x140025330
mov eax, dword [rsp + 0x30]
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.140035400
mov rbx, qword [rsp + 0x198]
add rsp, 0x140
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret