Function at 0x140027940
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xe8
xor ebx, ebx
lea rax, [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rsp + 0x30], rax
xorps xmm0, xmm0
mov qword [rbp - 0x51], rbx
mov rsi, rcx
mov byte [rbp + 0x77], bl
mov qword [rsp + 0x20], rbx
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x19], rbx
mov byte [rbp + 0x6f], bl
mov qword [rbp - 0x31], rbx
mov qword [rbp - 0x11], rbx
mov qword [rbp - 0x49], rbx
mov qword [rbp - 0x41], rbx
mov qword [rsp + 0x28], rbx
movups xmmword [rbp - 0x79], xmm0
test rcx, rcx
je 0x140028535
cmp dword [rcx], 0xbee0bee0
jne 0x140028535
cmp qword [rcx + 0x38], rbx
je 0x140028535
mov rax, qword [rcx + 0x10]
lea r13d, [rbx + 1]
mov dword [rax + 0xb0], 0x6752664f
mov rax, qword [rcx + 0x10]
lea rcx, [rbp - 0x21]
mov dword [rax + 0xb4], r13d
call qword [sym.imp.api_ms_win_core_sysinfo_l1_1_0.dll_GetSystemTimeAsFileTime]
nop dword [rax + rax]
mov rcx, qword [rsi + 0x10]
lea edx, [rbx + 0x7f]
mov eax, dword [rbp - 0x21]
mov dword [rcx + 0x200], eax
mov rcx, qword [rsi + 0x10]
mov eax, dword [rbp - 0x1d]
mov dword [rcx + 0x204], eax
mov eax, ebx
mov r8, qword [rsi + 0x10]
mov rcx, r8
xor eax, dword [rcx]
lea rcx, [rcx + 4]
sub rdx, r13
jne 0x140027a1b
cmp eax, 0xffffffff
lea rdx, [rsp + 0x30]
mov ecx, 0xfffffffe
cmove eax, ecx
test eax, eax
cmove eax, r13d
mov dword [r8 + 0x1fc], eax
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsi + 0x38]
cmp qword [rcx], rdx
jne 0x14002852e
mov r12, qword [rbp - 0x71]
lea rdx, [rsp + 0x30]
mov qword [rax], rdx
mov qword [rax + 8], rcx
mov qword [rcx], rax
mov r15, qword [rsp + 0x30]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x30]
mov qword [rbp - 9], r15
cmp r15, rax
je 0x1400284c9
test r15, r15
je 0x1400284e8
mov rdx, qword [r15 + 0x28]
mov qword [rbp - 0x29], rdx
test rdx, rdx
je 0x1400284e8
mov rax, qword [rsi + 0x10]
lea r9, [rbp - 0x51]
lea r8, [rsp + 0x20]
mov ecx, dword [rax + 0x14]
mov eax, dword [rax + 0x18]
shl ecx, 0xc
add eax, 0xfffff000
add ecx, eax
movzx eax, word [rdx + 0x48]
cmp ecx, 2
sbb ecx, ecx
and ecx, 8
add ecx, 8
lea edi, [rcx + 0x4f]
neg ecx
add edi, eax
and edi, ecx
mov rcx, rsi
mov edx, edi
call fcn.140025718
mov ebx, eax
test eax, eax
jne 0x1400284ed
mov r13, qword [rbp - 0x51]
neg edi
mov rax, qword [rsp + 0x20]
mov qword [r15 + 0x90], rax
mov rax, qword [rbp - 0x29]
mov qword [r15 + 0xa0], r13
lea r14, [r13 + 4]
mov dword [r13], edi
mov rdx, rax
mov rcx, r14
mov qword [rbp + 7], r14
movzx r8d, word [rax + 0x48]
add r8, 0x4c
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi + 0x10]
mov ecx, dword [rax + 0x14]
mov eax, dword [rax + 0x18]
shl ecx, 0xc
add ecx, 0xfffff000
add ecx, eax
cmp ecx, 4
jb 0x140027b61
movzx eax, word [r15 + 0x22]
or word [r14 + 2], ax
movzx eax, word [r15 + 0x24]
shl eax, 0x14
or eax, dword [r14 + 0x34]
xor eax, dword [r14 + 0x34]
and eax, 0xf00000
xor dword [r14 + 0x34], eax
or dword [r14 + 0x20], 0xffffffff
xor ebx, ebx
mov dword [r14 + 0x18], ebx
cmp byte [rbp + 0x77], bl
jne 0x140027b89
mov rcx, rsi
call fcn.140026338
mov byte [rbp + 0x77], 1
mov ebx, eax
test eax, eax
jne 0x1400284ed
xor ebx, ebx
mov rcx, qword [r15 + 0x48]
test rcx, rcx
je 0x140027d6a
mov rdx, qword [rcx + 0xa0]
mov rcx, qword [rcx + 0x90]
call fcn.1400256d4
test byte [r14 + 2], 0x20
movzx edi, word [r14 + 0x48]
mov dword [r14 + 0x10], eax
mov rbx, qword [r15 + 0x48]
je 0x140027c3c
add di, di
xor eax, eax
mov word [rbp - 0x79], di
mov word [rbp - 0x77], di
cmp byte [rbp + 0x6f], al
jne 0x140027bdf
test r12, r12
je 0x140027bdf
mov rdx, r12
mov rcx, rsi
call fcn.14002547c
movzx ecx, di
mov edx, 0x10
call qword [sym.imp.msvcrt.dll__aligned_malloc]
nop dword [rax + rax]
xor r11d, r11d
mov qword [rbp - 0x71], rax
mov r12, rax
test rax, rax
je 0x1400284e1
movzx ecx, word [r14 + 0x48]
movzx edx, di
mov eax, edx
mov byte [rbp + 0x6f], r11b
shr eax, 1
cmp eax, ecx
jae 0x140027c1f
mov ecx, edx
shr rcx, 1
mov rdx, r11
test rcx, rcx
je 0x140027c53
movzx eax, byte [rdx + r14 + 0x4c]
mov word [r12 + rdx*2], ax
inc rdx
cmp rdx, rcx
jne 0x140027c27
jmp 0x140027c53
lea r12, [r14 + 0x4c]
mov byte [rbp + 0x6f], 1
mov qword [rbp - 0x71], r12
xor r11d, r11d
mov word [rbp - 0x79], di
mov word [rbp - 0x77], di
mov rdi, qword [rbx + 0x68]
mov eax, 0x6972
cmp word [rdi], ax
je 0x140027ca9
mov rcx, qword [r15 + 0x90]
mov rdx, r13
call fcn.1400256d4
mov edx, eax
mov eax, dword [rbx + 0x70]
mov dword [rdi + rax*8 + 4], edx
lea rdx, [rbp - 0x79]
cmp dword [rsi + 0x18], 5
jb 0x140027c96
call fcn.140029864
mov ecx, eax
mov eax, dword [rbx + 0x70]
mov dword [rdi + rax*8 + 8], ecx
jmp 0x140027d4e
mov eax, dword [rbx + 0x70]
lea rcx, [rax*8 + 4]
add rcx, rdi
jmp 0x140027d49
mov r8d, dword [rbx + 0x70]
movabs rax, 0x2864fc7729e8c5f
mul r8
mov ecx, r8d
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 8
imul eax, ecx, 0x1fb
mov ecx, ecx
mov edx, dword [rdi + rcx*4 + 4]
sub r8d, eax
mov rax, qword [rbx + 0x98]
mov r9, qword [rax + rcx*8]
mov r10d, dword [r9 + 0x20]
lea eax, [r10 - 0x1000]
cmp eax, edx
ja 0x140027d11
lea ecx, [r10 - 0x1000]
add ecx, dword [r9 + 0x24]
cmp ecx, edx
jbe 0x140027d11
sub edx, r10d
lea edi, [rdx + 0x1000]
add rdi, qword [r9 + 0x28]
jmp 0x140027d14
mov rdi, r11
mov rdx, qword [rbp - 0x51]
lea r10, [rdi + r8*8]
mov rcx, qword [r15 + 0x90]
mov r13d, r8d
call fcn.1400256d4
mov dword [r10 + 8], eax
lea rdx, [rbp - 0x79]
cmp dword [rsi + 0x18], 5
jb 0x140027d45
call fcn.140029864
mov dword [rdi + r13*8 + 0xc], eax
jmp 0x140027d4e
lea rcx, [r10 + 8]
call fcn.140027890
inc dword [rbx + 0x70]
mov ecx, dword [rbx + 0x70]
mov edx, ecx
mov rax, qword [rbx + 0x28]
cmp dword [rax + 0x14], ecx
mov eax, 0
cmove edx, eax
mov dword [rbx + 0x70], edx
xor ebx, ebx
mov rcx, qword [r15 + 0x60]
mov rdx, qword [rcx + 0x20]
mov rcx, qword [rcx + 0x18]
call fcn.1400256d4
mov r13, qword [rbp - 0x29]
mov r8d, ebx
mov dword [r14 + 0x2c], eax
mov eax, ebx
mov edx, dword [r13 + 0x24]
test edx, edx
je 0x140028331
mov rax, qword [rsi + 0x10]
lea r9, [rbp - 0x39]
lea r8, [rsp + 0x20]
mov dword [rsp + 0x40], ebx
mov ecx, dword [rax + 0x14]
mov eax, dword [rax + 0x18]
add eax, 0xfffff000
shl ecx, 0xc
add ecx, eax
cmp ecx, 2
mov rcx, rsi
sbb eax, eax
and eax, 8
add eax, 8
lea edi, [rax + rdx*4]
neg eax
and edi, eax
mov edx, edi
call fcn.140025718
mov ebx, eax
test eax, eax
jne 0x1400284ed
mov rdx, qword [rbp - 0x39]
mov rcx, qword [rsp + 0x20]
call fcn.1400256d4
mov dword [r14 + 0x28], eax
neg edi
xor ebx, ebx
mov dword [rdx], edi
mov r8d, ebx
mov rdi, qword [r15 + 0x80]
mov eax, ebx
mov qword [rsp + 0x48], rdi
cmp dword [r13 + 0x24], ebx
jbe 0x140028331
mov dword [rbp - 0x61], ebx
mov dword [rbp - 0x5d], ebx
mov rax, qword [rsi + 0x10]
lea r9, [rbp - 0x19]
lea r8, [rsp + 0x20]
mov ecx, dword [rax + 0x14]
mov eax, dword [rax + 0x18]
shl ecx, 0xc
add eax, 0xfffff000
add ecx, eax
mov rax, qword [rdi + 0x18]
cmp ecx, 2
sbb edx, edx
movzx ecx, word [rax + 2]
and edx, 8
add edx, 8
lea r13d, [rdx + 0x17]
neg edx
add r13d, ecx
mov rcx, rsi
and r13d, edx
mov edx, r13d
call fcn.140025718
mov ebx, eax
test eax, eax
jne 0x1400284ed
mov r10, qword [rbp - 0x19]
mov rcx, qword [rsp + 0x20]
mov rdx, r10
call fcn.1400256d4
mov rcx, qword [rbp - 0x39]
mov edx, eax
mov eax, dword [rsp + 0x40]
neg r13d
mov dword [rcx + rax*4 + 4], edx
lea rax, [r10 + 4]
mov dword [r10], r13d
mov rcx, rax
mov rdx, qword [rdi + 0x18]
mov qword [rbp - 0x69], rax
movzx r8d, word [rdx + 2]
add r8, 0x14
call sub.msvcrt.dll_memcpy
mov rdx, qword [rsi + 0x10]
mov rax, qword [rdi + 0x18]
mov ecx, dword [rdx + 0x14]
mov r13d, dword [rax + 4]
shl ecx, 0xc
add ecx, 0xfffff000
add ecx, dword [rdx + 0x18]
cmp ecx, 4
jb 0x140028182
cmp r13d, 0x80000000
jae 0x1400282d3
mov eax, 0x3fd8
cmp r13d, eax
jbe 0x140028182
lea edx, [rbx + 0x10]
mov ecx, r13d
call qword [sym.imp.msvcrt.dll__aligned_malloc]
nop dword [rax + rax]
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov rcx, rax
test rax, rax
je 0x1400284e1
lea r8d, [r13 + 0x3fd7]
mov eax, 0xa0643f
mul r8d
sub r8d, edx
shr r8d, 1
add r8d, edx
mov rdx, qword [rdi + 0x20]
shr r8d, 0xd
mov dword [rsp + 0x48], r8d
test rdx, rdx
je 0x140027fa4
mov rax, qword [rdx]
mov r8d, r9d
mov dword [rbp + 0x7f], r9d
mov ebx, r13d
cmp r9w, word [rax + 2]
jae 0x140027fb0
mov rsi, rcx
mov r12d, 0x3fd8
mov eax, r8d
mov r8, r12
mov rcx, qword [rdx + rax*8 + 8]
mov qword [rbp - 0x41], rcx
lea rdx, [rcx + 4]
mov rcx, rsi
cmp ebx, r12d
ja 0x140027f71
mov r8d, ebx
call sub.msvcrt.dll_memcpy
mov r8d, dword [rbp + 0x7f]
add ebx, 0xffffc028
mov rdx, qword [rdi + 0x20]
inc r8d
add rsi, r12
mov dword [rbp + 0x7f], r8d
mov rax, qword [rdx]
movzx ecx, word [rax + 2]
cmp r8d, ecx
jb 0x140027f53
mov rsi, qword [rbp + 0x67]
mov r12, qword [rbp - 0x71]
jmp 0x140027fb0
mov rdx, qword [rdi + 0x28]
mov r8, r13
call sub.msvcrt.dll_memcpy
mov rax, qword [rsi + 0x10]
lea r9, [rbp - 0x49]
lea r8, [rsp + 0x20]
mov ecx, dword [rax + 0x14]
mov edx, dword [rax + 0x18]
shl ecx, 0xc
add ecx, 0xfffff000
add edx, ecx
cmp edx, 2
sbb ecx, ecx
and ecx, 8
add ecx, 7
cmp edx, 2
not ecx
sbb eax, eax
and eax, 8
add eax, 0x13
and ecx, eax
mov dword [rbp + 0x7f], ecx
mov edx, ecx
mov rcx, rsi
call fcn.140025718
mov ebx, eax
test eax, eax
jne 0x1400284ed
mov rdx, qword [rbp - 0x49]
mov eax, dword [rbp + 0x7f]
mov rcx, qword [rsp + 0x20]
neg eax
mov dword [rdx], eax
mov eax, 0x6264
mov word [rdx + 4], ax
mov eax, dword [rsp + 0x48]
mov word [rdx + 6], ax
call fcn.1400256d4
mov rcx, qword [rbp - 0x69]
lea r9, [rbp - 0x31]
lea r8, [rsp + 0x20]
mov dword [rcx + 8], eax
mov rax, qword [rsi + 0x10]
mov ecx, dword [rax + 0x14]
mov eax, dword [rax + 0x18]
shl ecx, 0xc
add eax, 0xfffff000
add ecx, eax
movzx eax, word [rdx + 6]
cmp ecx, 2
sbb ecx, ecx
and ecx, 8
add ecx, 8
lea eax, [rcx + rax*4]
neg ecx
and eax, ecx
mov rcx, rsi
mov edx, eax
mov dword [rbp + 0x7f], eax
call fcn.140025718
mov ebx, eax
test eax, eax
jne 0x1400284ed
mov rcx, qword [rbp - 0x31]
mov eax, dword [rbp + 0x7f]
mov rdx, rcx
neg eax
mov dword [rcx], eax
mov rcx, qword [rsp + 0x20]
call fcn.1400256d4
mov rcx, qword [rbp - 0x49]
xor ebx, ebx
mov dword [rbp + 0x7f], ebx
mov dword [rcx + 8], eax
mov rax, qword [rsp + 0x28]
mov qword [rbp - 0x69], rax
cmp bx, word [rcx + 6]
jae 0x14002816d
mov ecx, 0x3fd8
lea r9, [rbp - 0x11]
cmp r13d, ecx
lea r8, [rsp + 0x20]
mov eax, ecx
cmovb eax, r13d
mov dword [rsp + 0x48], eax
mov rax, qword [rsi + 0x10]
mov ecx, dword [rax + 0x14]
mov edx, dword [rax + 0x18]
shl ecx, 0xc
add ecx, 0xfffff000
add edx, ecx
cmp edx, 2
sbb ecx, ecx
and ecx, 8
add ecx, 7
cmp edx, 2
not ecx
sbb eax, eax
and eax, 8
add eax, 0x3fe3
and ecx, eax
mov dword [rbp - 0x59], ecx
mov edx, ecx
mov rcx, rsi
call fcn.140025718
mov ebx, eax
test eax, eax
jne 0x1400284ed
mov rdx, qword [rbp - 0x11]
mov rcx, qword [rsp + 0x20]
call fcn.1400256d4
mov ecx, dword [rbp + 0x7f]
mov r8, qword [rbp - 0x31]
mov ebx, dword [rsp + 0x48]
mov dword [r8 + rcx*4 + 4], eax
lea rcx, [rdx + 4]
mov eax, dword [rbp - 0x59]
mov r8d, ebx
neg eax
mov dword [rdx], eax
mov rdx, qword [rbp - 0x69]
call sub.msvcrt.dll_memcpy
mov ecx, dword [rbp + 0x7f]
mov rax, qword [rbp - 0x49]
inc ecx
add qword [rbp - 0x69], rbx
sub r13d, dword [rsp + 0x48]
mov dword [rbp + 0x7f], ecx
movzx eax, word [rax + 6]
cmp ecx, eax
jb 0x1400280ad
mov rax, qword [rsp + 0x28]
xor ebx, ebx
mov rdx, rax
mov rcx, rsi
call fcn.14002547c
mov qword [rsp + 0x28], rbx
jmp 0x1400282d5
lea eax, [r13 - 1]
cmp eax, 0x7ffffffe
ja 0x1400282d3
mov rbx, qword [rdi + 0x20]
test rbx, rbx
je 0x14002823d
mov rcx, r13
mov edx, 0x10
call qword [sym.imp.msvcrt.dll__aligned_malloc]
nop dword [rax + rax]
xor ecx, ecx
mov qword [rsp + 0x28], rax
test rax, rax
je 0x1400284e1
mov qword [rbp - 1], rax
mov rax, qword [rbx]
cmp cx, word [rax + 2]
jae 0x140028230
mov r15, qword [rbp - 1]
mov esi, ecx
mov r14d, r13d
mov r12d, 0x3fd8
mov eax, esi
cmp r14d, r12d
mov edi, r14d
mov rcx, r15
cmova edi, r12d
mov r8d, edi
mov rdx, qword [rbx + rax*8 + 8]
mov qword [rbp - 0x41], rdx
add rdx, 4
mov ebx, edi
call sub.msvcrt.dll_memcpy
sub r14d, edi
add r15, rbx
mov rdi, qword [rsp + 0x48]
inc esi
mov rbx, qword [rdi + 0x20]
mov rax, qword [rbx]
movzx ecx, word [rax + 2]
cmp esi, ecx
jb 0x1400281de
mov rsi, qword [rbp + 0x67]
mov r14, qword [rbp + 7]
mov r15, qword [rbp - 9]
mov r12, qword [rbp - 0x71]
mov rax, qword [rsp + 0x28]
mov qword [rdi + 0x28], rax
mov rdx, qword [rsi + 0x10]
mov ecx, dword [rdx + 0x14]
lea r9, [rbp - 0x41]
mov eax, dword [rdx + 0x18]
lea r8, [rsp + 0x20]
shl ecx, 0xc
add eax, 0xfffff000
add ecx, eax
cmp ecx, 2
lea ecx, [r13 + 3]
sbb eax, eax
and eax, 8
add eax, 8
add ecx, eax
neg eax
and ecx, eax
mov dword [rbp + 0x7f], ecx
mov edx, ecx
mov rcx, rsi
call fcn.140025718
mov ebx, eax
test eax, eax
jne 0x1400284ed
mov rbx, qword [rbp - 0x41]
mov r8, r13
mov eax, dword [rbp + 0x7f]
neg eax
mov dword [rbx], eax
lea rcx, [rbx + 4]
mov rdx, qword [rdi + 0x28]
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x20]
mov rdx, rbx
call fcn.1400256d4
mov rcx, qword [rbp - 0x69]
xor ebx, ebx
mov r13, qword [rsp + 0x28]
mov dword [rcx + 8], eax
test r13, r13
je 0x1400282d5
mov rdx, r13
mov rcx, rsi
call fcn.14002547c
mov qword [rsp + 0x28], rbx
mov qword [rdi + 0x28], rbx
jmp 0x1400282d5
xor ebx, ebx
mov rax, qword [rdi + 0x18]
mov rdi, qword [rdi]
mov qword [rsp + 0x48], rdi
mov edx, dword [rax + 4]
test byte [rax + 0x10], 1
movzx ecx, word [rax + 2]
lea eax, [rcx + rcx]
cmove eax, ecx
cmp edx, 0x80000000
lea ecx, [rdx - 0x80000000]
cmovb ecx, edx
mov edx, dword [rsp + 0x40]
inc edx
cmp eax, dword [rbp - 0x61]
mov dword [rsp + 0x40], edx
cmovbe eax, dword [rbp - 0x61]
cmp ecx, dword [rbp - 0x5d]
mov r8d, eax
mov dword [rbp - 0x61], eax
cmovbe ecx, dword [rbp - 0x5d]
mov eax, ecx
mov dword [rbp - 0x5d], ecx
mov rcx, qword [rbp - 0x29]
cmp edx, dword [rcx + 0x24]
jb 0x140027e14
mov dword [r14 + 0x40], eax
mov dword [r14 + 0x3c], r8d
cmp qword [r15 + 0x78], rbx
je 0x1400283b6
mov rax, qword [rsi + 0x10]
lea r9, [rbp - 0x51]
lea r8, [rsp + 0x20]
mov ecx, dword [rax + 0x14]
mov eax, dword [rax + 0x18]
shl ecx, 0xc
add eax, 0xfffff000
add ecx, eax
movzx eax, word [r14 + 0x4a]
cmp ecx, 2
sbb ecx, ecx
and ecx, 8
add ecx, 8
lea edi, [rcx + 3]
neg ecx
add edi, eax
and edi, ecx
mov rcx, rsi
mov edx, edi
call fcn.140025718
mov ebx, eax
test eax, eax
jne 0x1400284ed
mov rbx, qword [rbp - 0x51]
neg edi
mov dword [rbx], edi
lea rcx, [rbx + 4]
movzx r8d, word [r14 + 0x4a]
mov rdx, qword [r15 + 0x78]
call sub.msvcrt.dll_memcpy
mov rcx, qword [rsp + 0x20]
mov rdx, rbx
call fcn.1400256d4
mov dword [r14 + 0x30], eax
xor ebx, ebx
mov r8d, dword [r14 + 0x14]
test r8d, r8d
je 0x14002847e
mov rdx, r15
mov rcx, rsi
cmp r8d, 0x1fb
jbe 0x1400283d9
call fcn.140029594
jmp 0x1400283de
call fcn.1400297b4
mov ebx, eax
test eax, eax
jne 0x1400284ed
mov rcx, r15
call fcn.140024a18
mov r10, qword [rsp + 0x38]
xor ebx, ebx
mov r8d, ebx
mov r9d, ebx
mov rdx, rax
lea rax, [rsp + 0x30]
mov r11d, r9d
cmp qword [r10], rax
jne 0x14002852e
mov qword [rdx + 8], r10
lea rax, [rsp + 0x30]
mov qword [rdx], rax
mov qword [r10], rdx
mov r10, rdx
mov qword [rsp + 0x38], rdx
mov r9, qword [rdx + 0x28]
test byte [r9 + 2], 0x20
je 0x14002844d
movzx ecx, word [r9 + 0x48]
add rcx, rcx
mov eax, r8d
cmp rax, rcx
jae 0x140028459
movzx r8d, word [r9 + 0x48]
add r8d, r8d
jmp 0x140028459
movzx eax, word [r9 + 0x48]
cmp r8d, eax
cmovb r8d, eax
movzx r9d, word [r9 + 0x4a]
mov rcx, rdx
cmp r11d, r9d
cmovae r9d, r11d
call fcn.140024a4c
mov rdx, rax
test rax, rax
jne 0x140028400
mov dword [r14 + 0x38], r9d
mov word [r14 + 0x34], r8w
mov rax, qword [rsp + 0x30]
lea rcx, [rsp + 0x30]
cmp qword [rax + 8], rcx
jne 0x14002852e
mov rcx, qword [rax]
cmp qword [rcx + 8], rax
jne 0x14002852e
lea rax, [rsp + 0x30]
mov qword [rsp + 0x30], rcx
mov qword [rcx + 8], rax
lea rax, [rsp + 0x30]
mov r15, qword [rsp + 0x30]
mov qword [rbp - 9], r15
cmp r15, rax
jne 0x140027a84
cmp byte [rbp + 0x6f], bl
jne 0x1400284dd
test r12, r12
je 0x1400284dd
mov rcx, r12
call qword [sym.imp.msvcrt.dll__aligned_free]
nop dword [rax + rax]
xor eax, eax
jmp 0x14002853a
mov ebx, 8
jmp 0x1400284ed
mov ebx, 0x1f
mov rcx, rsi
call fcn.140028558
xor esi, esi
cmp byte [rbp + 0x6f], sil
jne 0x140028511
test r12, r12
je 0x140028511
mov rcx, r12
call qword [sym.imp.msvcrt.dll__aligned_free]
nop dword [rax + rax]
mov rax, qword [rsp + 0x28]
test rax, rax
je 0x14002852a
mov rcx, rax
call qword [sym.imp.msvcrt.dll__aligned_free]
nop dword [rax + rax]
mov eax, ebx
jmp 0x14002853a
mov ecx, 3
int 0x29
mov eax, 0x57
add rsp, 0xe8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret