Function at 0x18007ac20
Capabilities:
Contain obfuscated stackstrings
Delete file
Write file on windows

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x550]
sub rsp, 0x650
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x690], rbx
mov rax, qword [0x1800fb008]
xor rax, rsp
mov qword [rbp + 0x540], rax
mov qword [rbp - 0x80], r9
mov rbx, r8
mov qword [rsp + 0x50], rbx
mov rdi, rdx
mov qword [rsp + 0x60], rdx
cmp qword [rdx + 0x10], 0
je 0x18007c0ca
mov r10, qword [r8]
mov r9, qword [r8 + 8]
cmp r10, r9
je 0x18007c0ca
xor r12d, r12d
mov ecx, r12d
sub r9, r10
sar r9, 7
test r9, r9
je 0x18007c0ca
mov eax, r12d
cmp byte [r10 + rax + 0x7c], r12b
jne 0x18007acbc
inc rcx
sub rax, 0xffffffffffffff80
cmp rcx, r9
jb 0x18007aca4
jmp 0x18007c0ca
mov r8, rdx
lea rdx, [rbp + 0x3b8]
call fcn.18007c900
nop
xor eax, eax
mov qword [rbp + 0x390], rax
mov qword [rbp + 0x398], rax
mov qword [rbp + 0x390], r12
mov word [rbp + 0x398], ax
lea rdx, [rbp + 0x3b8]
lea rcx, [rbp + 0x390]
call fcn.18001cdd0
xor eax, eax
mov qword [rbp + 0x408], rax
mov qword [rbp + 0x410], rax
lea rax, [rbp + 0x390]
mov qword [rbp + 0x408], rax
mov byte [rbp + 0x410], 0
mov rcx, qword [rbp + 0x390]
test rcx, rcx
jne 0x18007ad33
xor r15b, r15b
jmp 0x18007ad52
or edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
je 0x18007ad48
xor r15b, r15b
jmp 0x18007ad52
mov byte [rbp + 0x398], 1
mov r15b, 1
mov byte [rsp + 0x40], r15b
mov byte [rbp + 0x410], r15b
xor eax, eax
mov qword [rbp + 0x3a0], rax
mov qword [rbp + 0x3a8], rax
mov qword [rbp + 0x3b0], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3b0], r12
mov byte [rsp + 0x41], al
lea r9, [rsp + 0x41]
lea r8, [rbp + 0x3a0]
mov rdx, rdi
call fcn.18007c260
test al, al
jne 0x18007adbe
cmp byte [rsp + 0x41], al
je 0x18007adbe
cmp qword [rdi + 0x18], 8
jb 0x18007adb5
mov rcx, qword [rdi]
jmp 0x18007adb8
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
xor sil, sil
mov byte [rsp + 0x41], sil
mov rdx, r12
mov qword [rsp + 0x48], rdx
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 7
mov r14, qword [rbp + 0x3a8]
mov r13, qword [rbp + 0x3a0]
test rax, rax
je 0x18007c029
movabs r8, 0x1ffffffffffffff
mov r12, qword [rbp + 0x3b0]
nop dword [rax]
nop dword [rax + rax]
mov rdi, rdx
shl rdi, 7
add rdi, rcx
cmp byte [rdi + 0x7c], 0
je 0x18007b648
xor ebx, ebx
mov esi, ebx
mov r13d, ebx
mov r15, r14
mov rcx, qword [rbp + 0x3a0]
sub r15, rcx
sar r15, 7
test r15, r15
je 0x18007ae92
shl rbx, 7
add rbx, rcx
cmp qword [rdi + 0x18], 8
jb 0x18007ae54
mov rdx, qword [rdi]
jmp 0x18007ae57
mov rdx, rdi
cmp qword [rbx + 0x18], 8
jb 0x18007ae63
mov rcx, qword [rbx]
jmp 0x18007ae66
mov rcx, rbx
call fcn.18009e3dc
mov rcx, qword [rbp + 0x3a0]
test eax, eax
je 0x18007ae83
inc r13d
mov ebx, r13d
cmp rbx, r15
jb 0x18007ae41
jmp 0x18007ae86
mov rsi, rbx
movabs r8, 0x1ffffffffffffff
xor ebx, ebx
test rsi, rsi
jne 0x18007b1db
mov qword [rbp + 0x4d0], rbx
mov qword [rbp + 0x4d8], rbx
mov qword [rbp + 0x4d8], 7
mov qword [rbp + 0x4d0], rbx
mov word [rbp + 0x4c0], bx
mov qword [rbp + 0x4f0], rbx
mov qword [rbp + 0x4f8], rbx
mov qword [rbp + 0x4f8], 7
mov qword [rbp + 0x4f0], rbx
mov word [rbp + 0x4e0], bx
mov qword [rbp + 0x510], rbx
mov qword [rbp + 0x518], rbx
mov qword [rbp + 0x518], 7
mov qword [rbp + 0x510], rbx
mov word [rbp + 0x500], bx
mov qword [rbp + 0x520], rbx
mov qword [rbp + 0x528], rbx
mov qword [rbp + 0x530], rbx
mov dword [rbp + 0x538], ebx
mov byte [rbp + 0x53c], sil
lea rax, [rbp + 0x4c0]
cmp rax, r14
jae 0x18007affe
lea rax, [rbp + 0x4c0]
cmp rcx, rax
ja 0x18007affe
lea rbx, [rbp + 0x4c0]
sub rbx, rcx
cmp r14, r12
jne 0x18007afd1
mov rax, r12
sub rax, r14
sar rax, 7
cmp rax, 1
jae 0x18007afd1
mov rax, r8
sub rax, r15
cmp rax, 1
jb 0x18007b66b
inc r15
sub r12, rcx
sar r12, 7
mov rcx, r12
shr rcx, 1
mov rax, r8
sub rax, rcx
cmp rax, r12
jae 0x18007afa3
xor eax, eax
mov r12d, eax
jmp 0x18007afa6
add r12, rcx
cmp r12, r15
cmovb r12, r15
mov rdx, r12
lea rcx, [rbp + 0x3a0]
call fcn.18007d090
mov r12, qword [rbp + 0x3b0]
mov r14, qword [rbp + 0x3a8]
mov rcx, qword [rbp + 0x3a0]
and rbx, 0xffffffffffffff80
add rbx, rcx
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x58], r14
test r14, r14
je 0x18007aff3
mov rdx, rbx
mov rcx, r14
call fcn.18007aa60
nop
sub r14, 0xffffffffffffff80
xor ebx, ebx
jmp 0x18007b12d
cmp r14, r12
jne 0x18007b06a
mov rax, r12
sub rax, r14
sar rax, 7
cmp rax, 1
jae 0x18007b06a
mov rax, r8
sub rax, r15
cmp rax, 1
jb 0x18007b678
inc r15
sub r12, rcx
sar r12, 7
mov rcx, r12
shr rcx, 1
mov rax, r8
sub rax, rcx
cmp rax, r12
jae 0x18007b043
mov r12, rbx
jmp 0x18007b046
add r12, rcx
cmp r12, r15
cmovb r12, r15
mov rdx, r12
lea rcx, [rbp + 0x3a0]
call fcn.18007d090
mov r12, qword [rbp + 0x3b0]
mov r14, qword [rbp + 0x3a8]
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x58], r14
test r14, r14
je 0x18007b129
mov qword [r14 + 0x18], 7
mov qword [r14 + 0x10], rbx
mov word [r14], bx
or rsi, 0xffffffffffffffff
mov r9, rsi
xor r8d, r8d
lea rdx, [rbp + 0x4c0]
mov rcx, r14
call fcn.1800032a0
nop
lea rcx, [r14 + 0x20]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], rbx
mov word [rcx], bx
mov r9, rsi
xor r8d, r8d
lea rdx, [rbp + 0x4e0]
call fcn.1800032a0
nop
lea rcx, [r14 + 0x40]
mov qword [rcx + 0x18], 7
mov qword [rcx + 0x10], rbx
mov word [rcx], bx
mov r9, rsi
xor r8d, r8d
lea rdx, [rbp + 0x500]
call fcn.1800032a0
nop
mov rax, qword [rbp + 0x520]
mov qword [r14 + 0x60], rax
mov rax, qword [rbp + 0x528]
mov qword [r14 + 0x68], rax
mov rax, qword [rbp + 0x530]
mov qword [r14 + 0x70], rax
mov eax, dword [rbp + 0x538]
mov dword [r14 + 0x78], eax
movzx eax, byte [rbp + 0x53c]
mov byte [r14 + 0x7c], al
sub r14, 0xffffffffffffff80
mov qword [rbp + 0x3a8], r14
mov rax, r14
mov r13, qword [rbp + 0x3a0]
sub rax, r13
and rax, 0xffffffffffffff80
lea rsi, [r13 - 0x80]
add rsi, rax
cmp qword [rbp + 0x518], 8
jb 0x18007b162
mov rcx, qword [rbp + 0x500]
call fcn.18008861c
mov qword [rbp + 0x518], 7
mov qword [rbp + 0x510], rbx
mov word [rbp + 0x500], bx
cmp qword [rbp + 0x4f8], 8
jb 0x18007b191
mov rcx, qword [rbp + 0x4e0]
call fcn.18008861c
mov qword [rbp + 0x4f8], 7
mov qword [rbp + 0x4f0], rbx
mov word [rbp + 0x4e0], bx
cmp qword [rbp + 0x4d8], 8
jb 0x18007b1c0
mov rcx, qword [rbp + 0x4c0]
call fcn.18008861c
mov qword [rbp + 0x4d8], 7
mov qword [rbp + 0x4d0], rbx
mov word [rbp + 0x4c0], bx
jmp 0x18007b1e2
mov r13, qword [rbp + 0x3a0]
mov qword [rbp + 0x450], rbx
mov qword [rbp + 0x458], rbx
mov qword [rbp + 0x458], 7
mov qword [rbp + 0x450], rbx
mov word [rbp + 0x440], bx
or r15, 0xffffffffffffffff
mov r9, r15
xor r8d, r8d
mov rdx, rsi
lea rcx, [rbp + 0x440]
call fcn.1800032a0
nop
mov qword [rbp + 0x470], rbx
mov qword [rbp + 0x478], rbx
mov qword [rbp + 0x478], 7
mov qword [rbp + 0x470], rbx
mov word [rbp + 0x460], bx
lea rbx, [rsi + 0x20]
mov r9, r15
xor r8d, r8d
mov rdx, rbx
lea rcx, [rbp + 0x460]
call fcn.1800032a0
nop
xor eax, eax
mov qword [rbp + 0x490], rax
mov qword [rbp + 0x498], rax
mov qword [rbp + 0x498], 7
mov qword [rbp + 0x490], rax
mov word [rbp + 0x480], ax
lea r15, [rsi + 0x40]
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r15
lea rcx, [rbp + 0x480]
call fcn.1800032a0
nop
lea rax, [rsi + 0x60]
mov qword [rbp - 0x78], rax
mov rax, qword [rax]
mov qword [rbp + 0x4a0], rax
lea rax, [rsi + 0x68]
mov qword [rsp + 0x58], rax
mov rax, qword [rax]
mov qword [rbp + 0x4a8], rax
lea rax, [rsi + 0x70]
mov qword [rsp + 0x78], rax
mov rax, qword [rax]
mov qword [rbp + 0x4b0], rax
lea rax, [rsi + 0x78]
mov qword [rsp + 0x70], rax
mov eax, dword [rax]
mov dword [rbp + 0x4b8], eax
lea rax, [rsi + 0x7c]
mov qword [rsp + 0x68], rax
movzx eax, byte [rax]
mov byte [rbp + 0x4bc], al
cmp rsi, rdi
je 0x18007b31a
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rdi
mov rcx, rsi
call fcn.1800032a0
lea rdx, [rdi + 0x20]
cmp rbx, rdx
je 0x18007b332
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, rbx
call fcn.1800032a0
lea rdx, [rdi + 0x40]
cmp r15, rdx
je 0x18007b34a
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, r15
call fcn.1800032a0
mov rax, qword [rdi + 0x60]
mov r10, qword [rbp - 0x78]
mov qword [r10], rax
mov rax, qword [rdi + 0x68]
mov r11, qword [rsp + 0x58]
mov qword [r11], rax
mov rax, qword [rdi + 0x70]
mov rcx, qword [rsp + 0x78]
mov qword [rcx], rax
mov eax, dword [rdi + 0x78]
mov rcx, qword [rsp + 0x70]
mov dword [rcx], eax
movzx eax, byte [rdi + 0x7c]
mov rdi, qword [rsp + 0x68]
mov byte [rdi], al
lea rcx, [rbp + 0x440]
cmp qword [rbp + 0x458], 8
cmovae rcx, qword [rbp + 0x440]
mov r9, qword [rsi + 0x10]
cmp qword [rsi + 0x18], 8
jb 0x18007b3a7
mov rsi, qword [rsi]
mov r8, qword [rbp + 0x450]
mov rdx, r8
cmp r9, r8
cmovb rdx, r9
test rdx, rdx
jmp 0x18007b3eb
movzx eax, word [rcx]
cmp word [rsi], ax
jne 0x18007b3d5
add rsi, 2
add rcx, 2
dec rdx
jmp 0x18007b3eb
mov edx, 1
cmp word [rsi], ax
mov rcx, 0xffffffffffffffff
cmovb edx, ecx
xor esi, esi
jmp 0x18007b3f5
jne 0x18007b3c0
xor esi, esi
or rcx, 0xffffffffffffffff
mov edx, esi
movsxd rax, edx
test edx, edx
jne 0x18007b40d
cmp r9, r8
jae 0x18007b405
mov eax, ecx
jmp 0x18007b40d
mov eax, esi
cmp r9, r8
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
jne 0x18007b58d
lea rcx, [rbp + 0x460]
cmp qword [rbp + 0x478], 8
cmovae rcx, qword [rbp + 0x460]
mov r9, qword [rbx + 0x10]
cmp qword [rbx + 0x18], 8
jb 0x18007b444
mov rbx, qword [rbx]
mov r8, qword [rbp + 0x470]
mov rdx, r8
cmp r9, r8
cmovb rdx, r9
test rdx, rdx
jmp 0x18007b489
movzx eax, word [rcx]
cmp word [rbx], ax
jne 0x18007b475
add rbx, 2
add rcx, 2
dec rdx
jmp 0x18007b489
mov edx, 1
cmp word [rbx], ax
mov rbx, 0xffffffffffffffff
cmovb edx, ebx
jmp 0x18007b491
jne 0x18007b460
or rbx, 0xffffffffffffffff
mov edx, esi
movsxd rax, edx
test edx, edx
jne 0x18007b4a9
cmp r9, r8
jae 0x18007b4a1
mov eax, ebx
jmp 0x18007b4a9
mov eax, esi
cmp r9, r8
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
jne 0x18007b58d
mov rax, qword [rbp + 0x4a0]
cmp qword [r10], rax
jne 0x18007b58d
mov rax, qword [rbp + 0x4a8]
cmp qword [r11], rax
jne 0x18007b58d
mov rax, qword [rbp + 0x4b0]
mov rcx, qword [rsp + 0x78]
cmp qword [rcx], rax
jne 0x18007b58d
lea rcx, [rbp + 0x480]
cmp qword [rbp + 0x498], 8
cmovae rcx, qword [rbp + 0x480]
mov r9, qword [r15 + 0x10]
cmp qword [r15 + 0x18], 8
jb 0x18007b515
mov r15, qword [r15]
mov r8, qword [rbp + 0x490]
mov rdx, r8
cmp r9, r8
cmovb rdx, r9
test rdx, rdx
jmp 0x18007b554
movzx eax, word [rcx]
cmp word [r15], ax
jne 0x18007b546
add r15, 2
add rcx, 2
dec rdx
jmp 0x18007b554
mov edx, 1
cmp word [r15], ax
cmovb edx, ebx
jmp 0x18007b558
jne 0x18007b530
mov edx, esi
movsxd rax, edx
test edx, edx
jne 0x18007b570
cmp r9, r8
jae 0x18007b568
mov eax, ebx
jmp 0x18007b570
mov eax, esi
cmp r9, r8
setne al
test eax, eax
sete al
test al, al
sete al
test al, al
jne 0x18007b58d
mov eax, dword [rbp + 0x4b8]
mov rcx, qword [rsp + 0x70]
cmp dword [rcx], eax
je 0x18007b59a
mov sil, 1
mov byte [rsp + 0x41], sil
mov byte [rdi], sil
jmp 0x18007b59f
movzx esi, byte [rsp + 0x41]
cmp qword [rbp + 0x498], 8
jb 0x18007b5b5
mov rcx, qword [rbp + 0x480]
call fcn.18008861c
mov qword [rbp + 0x498], 7
xor r15d, r15d
mov qword [rbp + 0x490], r15
mov word [rbp + 0x480], r15w
cmp qword [rbp + 0x478], 8
jb 0x18007b5e8
mov rcx, qword [rbp + 0x460]
call fcn.18008861c
mov qword [rbp + 0x478], 7
mov qword [rbp + 0x470], r15
mov word [rbp + 0x460], r15w
cmp qword [rbp + 0x458], 8
jb 0x18007b618
mov rcx, qword [rbp + 0x440]
call fcn.18008861c
mov qword [rbp + 0x458], 7
mov qword [rbp + 0x450], r15
mov word [rbp + 0x440], r15w
mov rdx, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
movabs r8, 0x1ffffffffffffff
jmp 0x18007b64b
xor r15d, r15d
inc rdx
mov qword [rsp + 0x48], rdx
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 7
cmp rdx, rax
jae 0x18007b685
jmp 0x18007ae10
lea rcx, str.vector_T__too_long
call fcn.180087e14
int3
lea rcx, str.vector_T__too_long
call fcn.180087e14
nop
test sil, sil
je 0x18007c020
cmp r13, r14
je 0x18007c020
xor eax, eax
mov qword [rbp + 0x3d8], rax
mov qword [rbp + 0x3e0], rax
mov qword [rbp + 0x3e8], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3d8], xmm0
mov qword [rbp + 0x3e8], r15
mov rdi, r14
sub rdi, r13
sar rdi, 7
mov qword [rsp + 0x48], rdi
test rdi, rdi
je 0x18007b6ff
movabs rax, 0x4189374bc6a7ef
cmp rdi, rax
jbe 0x18007b6f0
lea rcx, str.vector_T__too_long
call fcn.180087e14
int3
mov rdx, rdi
lea rcx, [rbp + 0x3d8]
call fcn.18007d260
movabs rdx, 0x20c49ba5e353f7cf
test rdi, rdi
je 0x18007b9b5
lea rbx, [r13 + 0x58]
mov r14, rdx
nop dword [rax]
mov eax, dword [rbx + 0x20]
dec eax
cmp eax, 2
ja 0x18007b98b
mov dword [rbp - 0x60], r15d
mov qword [rbp + 0x36c], r15
mov qword [rbp + 0x374], r15
mov qword [rbp + 0x37c], r15
mov dword [rbp + 0x384], r15d
xor edx, edx
mov r8d, 0x280
lea rcx, [rbp - 0x5c]
call fcn.18008c480
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x224]
call fcn.18008c480
xor eax, eax
mov qword [rbp + 0x324], rax
mov qword [rbp + 0x32c], rax
mov qword [rbp + 0x334], rax
mov qword [rbp + 0x33c], rax
mov qword [rbp + 0x344], rax
mov qword [rbp + 0x34c], rax
mov qword [rbp + 0x354], rax
mov qword [rbp + 0x35c], rax
mov qword [rbp + 0x364], rax
lea rdx, [rbp - 0x60]
lea rcx, [rbp + 0x3d8]
call fcn.18007cd10
mov rcx, qword [rbp + 0x3e0]
mov r8, qword [rbp + 0x3d8]
sub rcx, r8
mov rax, r14
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0x3e8
lea r15, [r8 - 0x3e8]
add r15, rax
mov qword [rsp + 0x50], r15
mov dword [r15], 0x23ab45db
lea rdi, [r15 + 4]
xor edx, edx
mov r8d, 0x280
mov rcx, rdi
call fcn.18008c480
lea rsi, [r15 + 0x284]
xor edx, edx
mov r8d, 0x100
mov rcx, rsi
call fcn.18008c480
add r15, 0x384
xor eax, eax
mov qword [r15], rax
mov qword [r15 + 8], rax
mov qword [r15 + 0x10], rax
mov qword [r15 + 0x18], rax
mov qword [r15 + 0x20], rax
mov qword [r15 + 0x28], rax
mov qword [r15 + 0x30], rax
mov qword [r15 + 0x38], rax
mov qword [r15 + 0x40], rax
cmp qword [rbx - 0x48], 0x13f
ja 0x18007b895
cmp qword [rbx - 0x40], 8
jb 0x18007b874
mov rcx, qword [rbx - 0x58]
jmp 0x18007b880
lea rcx, [rbx - 0x58]
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [rdi], ax
lea rcx, [rcx + 2]
lea rdi, [rdi + 2]
test ax, ax
jne 0x18007b880
jmp 0x18007b8b7
cmp qword [rbx - 0x40], 8
jb 0x18007b8a2
mov rax, qword [rbx - 0x58]
jmp 0x18007b8a6
lea rax, [rbx - 0x58]
mov r8d, 0x13e
mov rdx, rax
mov rcx, rdi
call fcn.1800a2440
cmp qword [rbx - 0x28], 0x7f
ja 0x18007b8e5
cmp qword [rbx - 0x20], 8
jb 0x18007b8cb
mov rcx, qword [rbx - 0x38]
jmp 0x18007b8d0
lea rcx, [rbx - 0x38]
nop
movzx eax, word [rcx]
mov word [rsi], ax
lea rcx, [rcx + 2]
lea rsi, [rsi + 2]
test ax, ax
jne 0x18007b8d0
jmp 0x18007b904
cmp qword [rbx - 0x20], 8
jb 0x18007b8f2
mov rdx, qword [rbx - 0x38]
jmp 0x18007b8f6
lea rdx, [rbx - 0x38]
mov r8d, 0x7e
mov rcx, rsi
call fcn.1800a2440
cmp qword [rbx - 8], 0x23
ja 0x18007b936
cmp qword [rbx], 8
jb 0x18007b917
mov rcx, qword [rbx - 0x18]
jmp 0x18007b920
lea rcx, [rbx - 0x18]
nop dword [rax + rax]
movzx eax, word [rcx]
mov word [r15], ax
lea rcx, [rcx + 2]
lea r15, [r15 + 2]
test ax, ax
jne 0x18007b920
jmp 0x18007b954
cmp qword [rbx], 8
jb 0x18007b942
mov rdx, qword [rbx - 0x18]
jmp 0x18007b946
lea rdx, [rbx - 0x18]
mov r8d, 0x23
mov rcx, r15
call fcn.1800a2440
mov rax, qword [rbx + 8]
mov rcx, qword [rsp + 0x50]
mov qword [rcx + 0x3cc], rax
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x3d4], rax
mov rax, qword [rbx + 0x18]
mov qword [rcx + 0x3dc], rax
mov eax, dword [rbx + 0x20]
mov dword [rcx + 0x3e4], eax
mov rdi, qword [rsp + 0x48]
xor r15d, r15d
sub rbx, 0xffffffffffffff80
dec rdi
mov qword [rsp + 0x48], rdi
jne 0x18007b720
mov r14, qword [rbp + 0x3a8]
mov r13, qword [rbp + 0x3a0]
movabs rdx, 0x20c49ba5e353f7cf
mov rcx, qword [rbp + 0x3e0]
mov r15, qword [rbp + 0x3d8]
cmp r15, rcx
jne 0x18007ba8d
test r15, r15
je 0x18007b9ef
mov rcx, r15
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3d8], xmm0
xor ebx, ebx
mov qword [rbp + 0x3e8], rbx
jmp 0x18007b9f1
xor ebx, ebx
test r13, r13
je 0x18007ba1b
mov r8, r14
mov rdx, r13
call fcn.18007cfe0
mov rcx, r13
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3b0], rbx
cmp byte [rsp + 0x40], 0
je 0x18007ba3b
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x18007ba34
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x398], 0
mov qword [rbp + 0x408], rbx
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x18007ba5b
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x390], rbx
mov word [rbp + 0x398], 0
cmp qword [rbp + 0x3d0], 8
jb 0x18007ba7a
mov rcx, qword [rbp + 0x3b8]
call fcn.18008861c
mov qword [rbp + 0x3c8], rbx
mov word [rbp + 0x3b8], bx
jmp 0x18007c0bf
xor eax, eax
mov qword [rbp + 0x3f0], rax
mov qword [rbp + 0x3f8], rax
mov qword [rbp + 0x400], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3f0], xmm0
xor edi, edi
mov qword [rbp + 0x400], rdi
mov dword [rbp + 0x420], 0x2d2d4352
mov dword [rbp + 0x424], 0x35343332
mov dword [rbp + 0x428], 0x61534350
mov dword [rbp + 0x42c], 0x2d302e32
mov dword [rbp + 0x430], 0x2d736843
mov dword [rbp + 0x434], 0x61435243
mov dword [rbp + 0x438], 0x38313031
mov dword [rbp + 0x43c], 0x35313032
mov eax, 1
movd xmm2, eax
movdqu xmm1, xmmword [rbp + 0x420]
pslld xmm1, xmm2
paddd xmm0, xmmword [0x1800cb680]
paddd xmm0, xmm1
movdqu xmmword [rbp + 0x420], xmm0
movdqu xmm1, xmmword [rbp + 0x430]
pslld xmm1, xmm2
movdqa xmm0, xmmword [0x1800cb690]
paddd xmm0, xmmword [0x1800cb680]
paddd xmm0, xmm1
movdqu xmmword [rbp + 0x430], xmm0
sub rcx, r15
mov rax, rdx
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test r15, r15
je 0x18007bfef
imul r8d, edx, 0x3e8
lea r9, [rbp + 0x3f0]
mov rdx, r15
lea rcx, [rbp + 0x420]
call fcn.18004a950
test al, al
je 0x18007bfef
mov rbx, qword [rbp + 0x3f0]
mov rsi, qword [rbp + 0x3f8]
cmp rbx, rsi
jne 0x18007bc8a
test rbx, rbx
je 0x18007bbd4
mov rcx, rbx
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x400], rdi
mov rcx, r15
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3d8], xmm0
mov qword [rbp + 0x3e8], rdi
test r13, r13
je 0x18007bc18
mov r8, r14
mov rdx, r13
call fcn.18007cfe0
mov rcx, r13
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3b0], rdi
cmp byte [rsp + 0x40], 0
je 0x18007bc38
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x18007bc31
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x398], 0
mov qword [rbp + 0x408], rdi
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x18007bc58
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x390], rdi
mov word [rbp + 0x398], 0
cmp qword [rbp + 0x3d0], 8
jb 0x18007bc77
mov rcx, qword [rbp + 0x3b8]
call fcn.18008861c
mov qword [rbp + 0x3c8], rdi
mov word [rbp + 0x3b8], di
jmp 0x18007c0bf
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x18], 8
jb 0x18007bc9b
mov rcx, qword [rax]
jmp 0x18007bc9e
mov rcx, rax
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r8d, r8d
mov edx, 0x40000000
call fcn.18000ff70
mov rdi, rax
lea rcx, [rax + 1]
test rcx, 0xfffffffffffffffe
jne 0x18007bd75
mov r9d, 2
lea rdx, [0x1800c4580]
mov rcx, qword [rsp + 0x60]
call fcn.180009dc0
cmp rax, 0xffffffffffffffff
je 0x18007bd75
mov r9, rax
xor r8d, r8d
lea rdx, [rbp + 0x420]
mov rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.180007530
nop
lea rcx, [rbp + 0x420]
call fcn.1800106b0
cmp qword [rdi + 0x18], 8
jb 0x18007bd21
mov rdi, qword [rdi]
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r8d, r8d
mov edx, 0x40000000
mov rcx, rdi
call fcn.18000ff70
mov rdi, rax
cmp qword [rbp + 0x438], 8
jb 0x18007bd5a
mov rcx, qword [rbp + 0x420]
call fcn.18008861c
mov qword [rbp + 0x438], 7
xor eax, eax
mov qword [rbp + 0x430], rax
mov word [rbp + 0x420], ax
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x18007bfaf
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
xor eax, eax
mov dword [rbp + 0x418], eax
mov r8d, esi
sub r8d, ebx
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x418]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_WriteFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
sub rsi, rbx
mov eax, dword [rbp + 0x418]
cmp rax, rsi
jne 0x18007bf39
lea rax, [rbp + 0x3a0]
mov r8, qword [rbp - 0x80]
cmp r8, rax
je 0x18007be1f
mov rax, qword [r8]
mov qword [r8], r13
mov r13, rax
mov qword [rbp + 0x3a0], rax
mov rax, qword [r8 + 8]
mov qword [r8 + 8], r14
mov r14, rax
mov qword [rbp + 0x3a8], rax
mov rax, qword [r8 + 0x10]
mov qword [r8 + 0x10], r12
mov qword [rbp + 0x3b0], rax
xor edi, edi
mov edx, edi
mov rax, qword [r8 + 8]
sub rax, qword [r8]
sar rax, 7
test rax, rax
je 0x18007be57
mov ecx, edi
mov rax, qword [r8]
mov byte [rcx + rax + 0x7c], dil
inc rdx
lea rcx, [rcx + 0x80]
mov rax, qword [r8 + 8]
sub rax, qword [r8]
sar rax, 7
cmp rdx, rax
jb 0x18007be35
test rbx, rbx
je 0x18007be76
mov rcx, rbx
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x400], rdi
mov rcx, r15
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3d8], xmm0
mov qword [rbp + 0x3e8], rdi
test r13, r13
je 0x18007beba
mov r8, r14
mov rdx, r13
call fcn.18007cfe0
mov rcx, r13
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3b0], rdi
cmp byte [rsp + 0x40], 0
je 0x18007beda
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x18007bed3
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x398], 0
mov qword [rbp + 0x408], rdi
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x18007befa
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x390], rdi
mov word [rbp + 0x398], 0
cmp qword [rbp + 0x3d0], 8
jb 0x18007bf19
mov rcx, qword [rbp + 0x3b8]
call fcn.18008861c
mov qword [rbp + 0x3d0], 7
mov qword [rbp + 0x3c8], rdi
mov word [rbp + 0x3b8], di
mov al, 1
jmp 0x18007c0cc
test rbx, rbx
je 0x18007bf5a
mov rcx, rbx
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3f0], xmm0
xor ebx, ebx
mov qword [rbp + 0x400], rbx
mov rcx, r15
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3d8], xmm0
mov qword [rbp + 0x3e8], rbx
test r13, r13
je 0x18007bf9e
mov r8, r14
mov rdx, r13
call fcn.18007cfe0
mov rcx, r13
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3b0], rbx
lea rcx, [rbp + 0x408]
call fcn.1800123e0
jmp 0x18007ba42
test rbx, rbx
je 0x18007bfd0
mov rcx, rbx
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3f0], xmm0
xor ebx, ebx
mov qword [rbp + 0x400], rbx
mov rcx, r15
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3d8], xmm0
mov qword [rbp + 0x3e8], rbx
jmp 0x18007b9f1
mov rcx, qword [rbp + 0x3f0]
test rcx, rcx
je 0x18007c012
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3f0], xmm0
mov qword [rbp + 0x400], rdi
test r15, r15
je 0x18007bbee
jmp 0x18007bbd4
xor r12d, r12d
movzx r15d, byte [rsp + 0x40]
test r13, r13
je 0x18007c053
mov r8, r14
mov rdx, r13
call fcn.18007cfe0
mov rcx, r13
call fcn.18008861c
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a0], xmm0
mov qword [rbp + 0x3b0], r12
test r15b, r15b
je 0x18007c071
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x18007c06a
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x398], 0
mov qword [rbp + 0x408], r12
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x18007c091
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x390], r12
mov word [rbp + 0x398], 0
cmp qword [rbp + 0x3d0], 8
jb 0x18007c0b0
mov rcx, qword [rbp + 0x3b8]
call fcn.18008861c
mov qword [rbp + 0x3c8], r12
mov word [rbp + 0x3b8], r12w
mov qword [rbp + 0x3d0], 7
xor al, al
mov rcx, qword [rbp + 0x540]
xor rcx, rsp
call fcn.180087ea0
mov rbx, qword [rsp + 0x690]
add rsp, 0x650
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret