Function at 0x1801f1870
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 - 0x530]
sub rsp, 0x630
mov qword [rbp - 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x670], rbx
mov rax, qword [0x1804610b0]
xor rax, rsp
mov qword [rbp + 0x520], rax
mov qword [rbp - 0x80], r9
mov rbx, r8
mov qword [rsp + 0x70], rbx
mov rdi, rdx
mov qword [rsp + 0x78], rdx
xor r15d, r15d
mov dword [rsp + 0x44], r15d
cmp qword [rdx + 0x10], r15
je 0x1801f2dd2
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
cmp rax, rdx
je 0x1801f2dd2
mov ecx, r15d
sub rdx, rax
sar rdx, 7
test rdx, rdx
je 0x1801f2dd2
add rax, 0x7c
nop dword [rax]
cmp byte [rax], r15b
jne 0x1801f1916
inc rcx
sub rax, 0xffffffffffffff80
cmp rcx, rdx
jb 0x1801f1900
jmp 0x1801f2dd2
mov r8, rdi
lea rdx, [rbp + 0x400]
call fcn.1801f3840
nop
mov edx, 0x10
lea rcx, [rbp + 0x380]
call fcn.18003df50
mov qword [rbp + 0x380], r15
mov word [rbp + 0x388], 0
lea rdx, [rbp + 0x400]
lea rcx, [rbp + 0x380]
call fcn.1801dd7d0
xor eax, eax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x50], rax
lea rax, [rbp + 0x380]
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x50], 0
mov rcx, qword [rbp + 0x380]
test rcx, rcx
jne 0x1801f1988
xor sil, sil
jmp 0x1801f19a9
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
je 0x1801f199f
xor sil, sil
jmp 0x1801f19a9
mov byte [rbp + 0x388], 1
mov sil, 1
mov byte [rsp + 0x40], sil
mov byte [rsp + 0x50], sil
xor eax, eax
mov qword [rbp + 0x390], rax
mov qword [rbp + 0x398], rax
mov qword [rbp + 0x3a0], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x390], xmm0
mov qword [rbp + 0x3a0], r15
mov byte [rsp + 0x41], al
lea r9, [rsp + 0x41]
lea r8, [rbp + 0x390]
mov rdx, rdi
call fcn.1801f2e70
test al, al
jne 0x1801f1a11
cmp byte [rsp + 0x41], al
je 0x1801f1a11
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1801f1a0b
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
xor r14b, r14b
mov byte [rsp + 0x41], r14b
mov rdx, r15
mov qword [rsp + 0x68], rdx
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 7
test rax, rax
je 0x1801f2d18
mov rax, r15
mov qword [rsp + 0x60], rax
lea rdi, [rcx + rax]
cmp byte [rdi + 0x7c], 0
je 0x1801f1e50
mov rsi, r15
mov r14d, r15d
mov rax, qword [rbp + 0x398]
mov rcx, qword [rbp + 0x390]
sub rax, rcx
sar rax, 7
test rax, rax
je 0x1801f1ac0
mov rbx, r15
shl rbx, 7
add rbx, rcx
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1801f1a85
mov rdx, qword [rdi]
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1801f1a92
mov rcx, qword [rbx]
call fcn.1802b7264
test eax, eax
je 0x1801f1abd
inc r14d
mov ebx, r14d
mov rax, qword [rbp + 0x398]
mov rcx, qword [rbp + 0x390]
sub rax, rcx
sar rax, 7
cmp rbx, rax
jb 0x1801f1a71
jmp 0x1801f1ac0
mov rsi, rbx
test rsi, rsi
jne 0x1801f1bef
mov qword [rbp + 0x430], r15
mov qword [rbp + 0x438], r15
mov qword [rbp + 0x430], r15
mov qword [rbp + 0x438], 7
mov word [rbp + 0x420], r15w
mov qword [rbp + 0x450], r15
mov qword [rbp + 0x458], r15
mov qword [rbp + 0x450], r15
mov qword [rbp + 0x458], 7
mov word [rbp + 0x440], r15w
mov qword [rbp + 0x470], r15
mov qword [rbp + 0x478], r15
mov qword [rbp + 0x470], r15
mov qword [rbp + 0x478], 7
mov word [rbp + 0x460], r15w
mov qword [rbp + 0x480], r15
mov qword [rbp + 0x488], r15
mov qword [rbp + 0x490], r15
mov dword [rbp + 0x498], r15d
mov byte [rbp + 0x49c], sil
mov rax, qword [rbp + 0x398]
cmp qword [rbp + 0x3a0], rax
je 0x1801f1b97
lea rdx, [rbp + 0x420]
mov rcx, rax
call fcn.1801f1700
mov rcx, qword [rbp + 0x398]
sub rcx, 0xffffffffffffff80
mov qword [rbp + 0x398], rcx
jmp 0x1801f1bb4
lea r8, [rbp + 0x420]
mov rdx, rax
lea rcx, [rbp + 0x390]
call fcn.1801f4510
mov rcx, qword [rbp + 0x398]
mov rax, qword [rbp + 0x390]
sub rcx, rax
and rcx, 0xffffffffffffff80
lea rsi, [rax - 0x80]
add rsi, rcx
lea rcx, [rbp + 0x460]
call fcn.1800338a0
nop
lea rcx, [rbp + 0x440]
call fcn.1800338a0
nop
lea rcx, [rbp + 0x420]
call fcn.1800338a0
mov rdx, rsi
lea rcx, [rbp + 0x4a0]
call fcn.180037a20
nop
lea rbx, [rsi + 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x4c0]
call fcn.180037a20
nop
lea r14, [rsi + 0x40]
mov rdx, r14
lea rcx, [rbp + 0x4e0]
call fcn.180037a20
nop
mov r15, qword [rsi + 0x60]
mov qword [rbp + 0x500], r15
mov r12, qword [rsi + 0x68]
mov qword [rbp + 0x508], r12
mov r13, qword [rsi + 0x70]
mov qword [rbp + 0x510], r13
mov eax, dword [rsi + 0x78]
mov dword [rsp + 0x58], eax
mov dword [rbp + 0x518], eax
movzx eax, byte [rsi + 0x7c]
mov byte [rbp + 0x51c], al
cmp rsi, rdi
je 0x1801f1c7d
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1801f1c71
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rsi
call fcn.180033930
lea r8, [rdi + 0x20]
cmp rbx, r8
je 0x1801f1c9f
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1801f1c93
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.180033930
lea r8, [rdi + 0x40]
cmp r14, r8
je 0x1801f1cc1
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1801f1cb5
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, r14
call fcn.180033930
mov rax, qword [rdi + 0x60]
mov qword [rsi + 0x60], rax
mov rax, qword [rdi + 0x68]
mov qword [rsi + 0x68], rax
mov rax, qword [rdi + 0x70]
mov qword [rsi + 0x70], rax
mov eax, dword [rdi + 0x78]
mov dword [rsi + 0x78], eax
movzx eax, byte [rdi + 0x7c]
mov byte [rsi + 0x7c], al
lea rcx, [rbp + 0x4a0]
cmp qword [rbp + 0x4b8], 8
cmovae rcx, qword [rbp + 0x4a0]
mov r8, rsi
cmp qword [rsi + 0x18], 8
jb 0x1801f1d0a
mov r8, qword [rsi]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rbp + 0x4b0]
jne 0x1801f1e01
test rdx, rdx
je 0x1801f1d48
sub r8, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1801f1e01
add rcx, 2
sub rdx, 1
jne 0x1801f1d30
lea rcx, [rbp + 0x4c0]
cmp qword [rbp + 0x4d8], 8
cmovae rcx, qword [rbp + 0x4c0]
mov r8, rbx
cmp qword [rbx + 0x18], 8
jb 0x1801f1d6c
mov r8, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbp + 0x4d0]
jne 0x1801f1e01
test rdx, rdx
je 0x1801f1d99
sub r8, rcx
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x1801f1e01
add rcx, 2
sub rdx, 1
jne 0x1801f1d85
cmp qword [rsi + 0x60], r15
jne 0x1801f1e01
cmp qword [rsi + 0x68], r12
jne 0x1801f1e01
cmp qword [rsi + 0x70], r13
jne 0x1801f1e01
lea rcx, [rbp + 0x4e0]
cmp qword [rbp + 0x4f8], 8
cmovae rcx, qword [rbp + 0x4e0]
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x1801f1dcf
mov r8, qword [r14]
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [rbp + 0x4f0]
jne 0x1801f1e01
test rdx, rdx
je 0x1801f1df8
sub r8, rcx
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x1801f1e01
add rcx, 2
sub rdx, 1
jne 0x1801f1de4
mov eax, dword [rsp + 0x58]
cmp dword [rsi + 0x78], eax
je 0x1801f1e0f
mov r14b, 1
mov byte [rsp + 0x41], r14b
mov byte [rsi + 0x7c], r14b
jmp 0x1801f1e15
movzx r14d, byte [rsp + 0x41]
lea rcx, [rbp + 0x4e0]
call fcn.1800338a0
nop
lea rcx, [rbp + 0x4c0]
call fcn.1800338a0
nop
lea rcx, [rbp + 0x4a0]
call fcn.1800338a0
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rbx]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x68]
xor r15d, r15d
inc rdx
mov qword [rsp + 0x68], rdx
sub rax, 0xffffffffffffff80
mov qword [rsp + 0x60], rax
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 7
cmp rdx, rax
mov rax, qword [rsp + 0x60]
jb 0x1801f1a40
test r14b, r14b
je 0x1801f2d13
mov rax, qword [rbp + 0x398]
cmp qword [rbp + 0x390], rax
je 0x1801f2d13
xor eax, eax
mov qword [rbp + 0x3a8], rax
mov qword [rbp + 0x3b0], rax
mov qword [rbp + 0x3b8], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a8], xmm0
mov qword [rbp + 0x3b8], r15
mov r9, qword [rbp + 0x398]
mov r10, r9
mov r8, qword [rbp + 0x390]
sub r10, r8
sar r10, 7
mov rcx, qword [rbp + 0x3b8]
sub rcx, qword [rbp + 0x3a8]
movabs rdi, 0x20c49ba5e353f7cf
mov rax, rdi
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r10, rdx
jbe 0x1801f1f39
movabs rax, 0x4189374bc6a7ef
cmp r10, rax
ja 0x1801f2e16
mov rdx, r10
lea rcx, [rbp + 0x3a8]
call fcn.1801f3c80
mov r9, qword [rbp + 0x398]
mov r8, qword [rbp + 0x390]
mov r13, r15
mov rax, r9
sub rax, r8
sar rax, 7
test rax, rax
je 0x1801f22a2
mov r12, r15
lea rbx, [r12 + r8]
mov eax, dword [rbx + 0x78]
dec eax
cmp eax, 2
ja 0x1801f2288
mov dword [rbp - 0x70], r15d
mov qword [rbp + 0x35c], r15
mov qword [rbp + 0x364], r15
mov qword [rbp + 0x36c], r15
mov dword [rbp + 0x374], r15d
xor edx, edx
mov r8d, 0x280
lea rcx, [rbp - 0x6c]
call fcn.18029c350
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x214]
call fcn.18029c350
xor eax, eax
mov qword [rbp + 0x314], rax
mov qword [rbp + 0x31c], rax
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 rdx, qword [rbp + 0x3b0]
cmp qword [rbp + 0x3b8], rdx
je 0x1801f20af
lea rax, [rbp - 0x70]
mov ecx, 7
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rdx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rcx, 1
jne 0x1801f2010
movups xmm0, xmmword [rax]
movups xmmword [rdx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rdx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rdx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rdx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rdx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rdx + 0x50], xmm1
mov rax, qword [rax + 0x60]
mov qword [rdx + 0x60], rax
mov rdx, qword [rbp + 0x3b0]
add rdx, 0x3e8
mov qword [rbp + 0x3b0], rdx
jmp 0x1801f20c6
lea r8, [rbp - 0x70]
lea rcx, [rbp + 0x3a8]
call fcn.1801f4270
mov rdx, qword [rbp + 0x3b0]
mov rcx, qword [rbp + 0x3a8]
sub rdx, rcx
mov rax, rdi
imul rdx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rax, rdx, 0x3e8
lea rdi, [rcx - 0x3e8]
add rdi, rax
mov dword [rdi], 0x23ab45db
xor edx, edx
mov r8d, 0x280
lea rcx, [rdi + 4]
call fcn.18029c350
xor edx, edx
mov r8d, 0x100
lea rcx, [rdi + 0x284]
call fcn.18029c350
lea r15, [rdi + 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 + 0x10], 0x13f
ja 0x1801f2183
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1801f2163
mov rcx, qword [rbx]
mov rdx, rdi
sub rdx, rcx
nop dword [rax]
movzx eax, word [rcx]
mov word [rdx + rcx + 4], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1801f2170
jmp 0x1801f219f
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1801f2190
mov rdx, qword [rbx]
mov r8d, 0x13e
lea rcx, [rdi + 4]
call fcn.1802ad0a8
cmp qword [rbx + 0x30], 0x7f
ja 0x1801f21d6
lea rcx, [rbx + 0x20]
cmp qword [rcx + 0x18], 8
jb 0x1801f21b4
mov rcx, qword [rcx]
mov rdx, rdi
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rdx + rcx + 0x284], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1801f21c0
jmp 0x1801f21f6
lea rdx, [rbx + 0x20]
cmp qword [rdx + 0x18], 8
jb 0x1801f21e4
mov rdx, qword [rdx]
mov r8d, 0x7e
lea rcx, [rdi + 0x284]
call fcn.1802ad0a8
cmp qword [rbx + 0x50], 0x23
ja 0x1801f2227
lea rcx, [rbx + 0x40]
cmp qword [rcx + 0x18], 8
jb 0x1801f220b
mov rcx, qword [rcx]
mov rdx, rdi
sub rdx, rcx
movzx eax, word [rcx]
mov word [rdx + rcx + 0x384], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1801f2211
jmp 0x1801f2243
lea rdx, [rbx + 0x40]
cmp qword [rdx + 0x18], 8
jb 0x1801f2235
mov rdx, qword [rdx]
mov r8d, 0x23
mov rcx, r15
call fcn.1802ad0a8
mov rax, qword [rbx + 0x60]
mov qword [rdi + 0x3cc], rax
mov rax, qword [rbx + 0x68]
mov qword [rdi + 0x3d4], rax
mov rax, qword [rbx + 0x70]
mov qword [rdi + 0x3dc], rax
mov eax, dword [rbx + 0x78]
mov dword [rdi + 0x3e4], eax
mov r9, qword [rbp + 0x398]
mov r8, qword [rbp + 0x390]
xor r15d, r15d
movabs rdi, 0x20c49ba5e353f7cf
inc r13
sub r12, 0xffffffffffffff80
mov rax, r9
sub rax, r8
sar rax, 7
cmp r13, rax
jb 0x1801f1f52
mov rcx, qword [rbp + 0x3b0]
cmp qword [rbp + 0x3a8], rcx
jne 0x1801f2399
mov r8, qword [rbp + 0x3a8]
test r8, r8
je 0x1801f2326
mov rcx, qword [rbp + 0x3b8]
sub rcx, r8
mov rax, rdi
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x3e8
mov rax, r8
cmp rdx, 0x1000
jb 0x1801f230c
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e1c
mov rcx, r8
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a8], xmm0
mov qword [rbp + 0x3b8], r15
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x1801f238f
mov rdx, qword [rbp + 0x398]
call fcn.1801f46e0
mov rdx, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x390]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801f2378
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e22
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x390], xmm0
mov qword [rbp + 0x3a0], r15
cmp byte [rsp + 0x40], 0
jmp 0x1801f2d84
xor eax, eax
mov qword [rbp + 0x3c0], rax
mov qword [rbp + 0x3c8], rax
mov qword [rbp + 0x3d0], rax
mov qword [rbp + 0x3c0], r15
mov qword [rbp + 0x3c8], r15
mov qword [rbp + 0x3d0], r15
mov dword [rbp + 0x3e0], 0x2d2d4352
mov dword [rbp + 0x3e4], 0x35343332
mov dword [rbp + 0x3e8], 0x61534350
mov dword [rbp + 0x3ec], 0x2d302e32
mov dword [rbp + 0x3f0], 0x2d736843
mov dword [rbp + 0x3f4], 0x61435243
mov dword [rbp + 0x3f8], 0x38313031
mov dword [rbp + 0x3fc], 0x35313032
movdqa xmm2, xmmword [0x180397ec0]
mov eax, r15d
mov r14d, 1
movd xmm3, r14d
lea rcx, [rbp + 0x3e0]
movd xmm1, eax
pshufd xmm1, xmm1, 0
paddd xmm1, xmm2
movdqu xmm0, xmmword [rcx]
pslld xmm0, xmm3
paddd xmm1, xmm0
movdqu xmmword [rcx], xmm1
add eax, 4
lea rcx, [rcx + 0x10]
cmp eax, 8
jl 0x1801f2432
mov rcx, qword [rbp + 0x3b0]
sub rcx, qword [rbp + 0x3a8]
mov rax, rdi
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul r8d, edx, 0x3e8
lea r9, [rbp + 0x3c0]
mov rdx, qword [rbp + 0x3a8]
lea rcx, [rbp + 0x3e0]
call fcn.1801fd3e0
test al, al
jne 0x1801f25c7
mov rcx, qword [rbp + 0x3c0]
test rcx, rcx
je 0x1801f24f8
mov rdx, qword [rbp + 0x3d0]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801f24e1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e28
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3d0], r15
mov r8, qword [rbp + 0x3a8]
test r8, r8
je 0x1801f2568
mov rcx, qword [rbp + 0x3b8]
sub rcx, r8
mov rax, rdi
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x3e8
mov rax, r8
cmp rdx, 0x1000
jb 0x1801f254e
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e2e
mov rcx, r8
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a8], xmm0
mov qword [rbp + 0x3b8], r15
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x1801f238f
mov rdx, qword [rbp + 0x398]
call fcn.1801f46e0
mov rdx, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x390]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801f2378
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e04
jmp 0x1801f2378
mov rbx, qword [rbp + 0x3c0]
mov rsi, qword [rbp + 0x3c8]
cmp rbx, rsi
jne 0x1801f26fb
test rbx, rbx
je 0x1801f262c
mov rdx, qword [rbp + 0x3d0]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801f2612
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e34
mov rcx, rbx
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3d0], r15
mov r8, qword [rbp + 0x3a8]
test r8, r8
je 0x1801f269c
mov rcx, qword [rbp + 0x3b8]
sub rcx, r8
mov rax, rdi
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x3e8
mov rax, r8
cmp rdx, 0x1000
jb 0x1801f2682
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e3a
mov rcx, r8
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a8], xmm0
mov qword [rbp + 0x3b8], r15
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x1801f238f
mov rdx, qword [rbp + 0x398]
call fcn.1801f46e0
mov rdx, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x390]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801f2378
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e0a
jmp 0x1801f2378
mov r15, qword [rsp + 0x78]
mov rcx, r15
cmp qword [r15 + 0x18], 8
jb 0x1801f270d
mov rcx, qword [r15]
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r8d, r8d
mov edx, 0x40000000
call fcn.1801e5780
mov rdi, rax
lea rcx, [rax + 1]
test rcx, 0xfffffffffffffffe
jne 0x1801f27f7
lea rdx, [0x180392778]
mov rcx, r15
call fcn.1801dae00
mov r8, rax
cmp rax, 0xffffffffffffffff
je 0x1801f27f7
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3f0], xmm0
movdqa xmm1, xmmword [0x180397e60]
movdqu xmmword [rbp + 0x3f0], xmm1
xor r12d, r12d
mov word [rbp + 0x3e0], r12w
cmp qword [r15 + 0x10], rax
cmovb r8, qword [r15 + 0x10]
mov rdx, r15
cmp qword [r15 + 0x18], 8
jb 0x1801f2796
mov rdx, qword [r15]
lea rcx, [rbp + 0x3e0]
call fcn.180033930
mov dword [rsp + 0x44], r14d
lea rcx, [rbp + 0x3e0]
call fcn.1801dc660
cmp qword [r15 + 0x18], 8
jb 0x1801f27bd
mov r15, qword [r15]
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r8d, r8d
mov edx, 0x40000000
mov rcx, r15
call fcn.1801e5780
mov rdi, rax
and r14d, 0xfffffffe
mov dword [rsp + 0x44], r14d
lea rcx, [rbp + 0x3e0]
call fcn.1800338a0
jmp 0x1801f27fa
xor r12d, r12d
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1801f2bef
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x3d8], r12d
mov r8d, esi
sub r8d, ebx
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x3d8]
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 + 0x3d8]
cmp rax, rsi
jne 0x1801f2a7a
lea rax, [rbp + 0x390]
mov r9, qword [rbp - 0x80]
cmp r9, rax
je 0x1801f28b2
mov rcx, qword [r9]
mov rax, qword [rbp + 0x390]
mov qword [r9], rax
mov qword [rbp + 0x390], rcx
mov rcx, qword [r9 + 8]
mov rax, qword [rbp + 0x398]
mov qword [r9 + 8], rax
mov qword [rbp + 0x398], rcx
mov rcx, qword [r9 + 0x10]
mov rax, qword [rbp + 0x3a0]
mov qword [r9 + 0x10], rax
mov qword [rbp + 0x3a0], rcx
mov r8, r12
mov rcx, qword [r9]
mov rax, qword [r9 + 8]
sub rax, rcx
sar rax, 7
test rax, rax
je 0x1801f28f2
mov rdx, r12
nop dword [rax + rax]
mov byte [rdx + rcx + 0x7c], 0
inc r8
lea rdx, [rdx + 0x80]
mov rcx, qword [r9]
mov rax, qword [r9 + 8]
sub rax, rcx
sar rax, 7
cmp r8, rax
jb 0x1801f28d0
test rbx, rbx
je 0x1801f2940
mov rdx, qword [rbp + 0x3d0]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801f2926
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e40
mov rcx, rbx
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3d0], r12
mov r8, qword [rbp + 0x3a8]
test r8, r8
je 0x1801f29b7
mov rcx, qword [rbp + 0x3b8]
sub rcx, r8
movabs rax, 0x20c49ba5e353f7cf
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x3e8
mov rax, r8
cmp rdx, 0x1000
jb 0x1801f299d
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e46
mov rcx, r8
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a8], xmm0
mov qword [rbp + 0x3b8], r12
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x1801f2a20
mov rdx, qword [rbp + 0x398]
call fcn.1801f46e0
mov rdx, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x390]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801f2a09
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e4c
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x390], xmm0
mov qword [rbp + 0x3a0], r12
cmp byte [rsp + 0x40], 0
je 0x1801f2a40
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1801f2a39
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x388], 0
mov qword [rsp + 0x48], r12
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1801f2a5e
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x380], r12
mov word [rbp + 0x388], 0
lea rcx, [rbp + 0x400]
call fcn.1800338a0
mov al, 1
jmp 0x1801f2dd4
test rbx, rbx
je 0x1801f2ac8
mov rdx, qword [rbp + 0x3d0]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801f2aae
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e52
mov rcx, rbx
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3d0], r12
mov r8, qword [rbp + 0x3a8]
test r8, r8
je 0x1801f2b3f
mov rcx, qword [rbp + 0x3b8]
sub rcx, r8
movabs rax, 0x20c49ba5e353f7cf
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x3e8
mov rax, r8
cmp rdx, 0x1000
jb 0x1801f2b25
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e58
mov rcx, r8
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a8], xmm0
mov qword [rbp + 0x3b8], r12
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x1801f2ba8
mov rdx, qword [rbp + 0x398]
call fcn.1801f46e0
mov rdx, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x390]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801f2b91
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e5e
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x390], xmm0
mov qword [rbp + 0x3a0], r12
cmp byte [rsp + 0x40], 0
je 0x1801f2bc8
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1801f2bc1
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x388], 0
mov qword [rsp + 0x48], r12
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1801f2dbd
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x380], r12
jmp 0x1801f2dbd
test rbx, rbx
je 0x1801f2c3d
mov rdx, qword [rbp + 0x3d0]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1801f2c23
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e64
mov rcx, rbx
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3c0], xmm0
mov qword [rbp + 0x3d0], r12
mov r8, qword [rbp + 0x3a8]
test r8, r8
je 0x1801f2cb4
mov rcx, qword [rbp + 0x3b8]
sub rcx, r8
movabs rax, 0x20c49ba5e353f7cf
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
imul rdx, rdx, 0x3e8
mov rax, r8
cmp rdx, 0x1000
jb 0x1801f2c9a
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e6a
mov rcx, r8
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3a8], xmm0
mov qword [rbp + 0x3b8], r12
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x1801f2ba8
mov rdx, qword [rbp + 0x398]
call fcn.1801f46e0
mov rdx, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x390]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801f2b91
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2e10
jmp 0x1801f2b91
movzx esi, byte [rsp + 0x40]
mov rcx, qword [rbp + 0x390]
test rcx, rcx
je 0x1801f2d81
mov rdx, qword [rbp + 0x398]
call fcn.1801f46e0
mov rdx, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x390]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1801f2d6a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1801f2dfe
call fcn.180299904
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x390], xmm0
mov qword [rbp + 0x3a0], r15
test sil, sil
je 0x1801f2d9f
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1801f2d98
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x388], 0
mov qword [rsp + 0x48], r15
mov rcx, qword [rbp + 0x380]
test rcx, rcx
je 0x1801f2dbd
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x380], r15
mov word [rbp + 0x388], 0
lea rcx, [rbp + 0x400]
call fcn.1800338a0
xor al, al
mov rcx, qword [rbp + 0x520]
xor rcx, rsp
call fcn.1802994c0
mov rbx, qword [rsp + 0x670]
add rsp, 0x630
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1802a54c4
nop
call fcn.1802a54c4
int3
call fcn.1802a54c4
int3
call fcn.1802a54c4
nop
call fcn.180043760
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
nop
call fcn.1802a54c4
int3