Function at 0x1800a5940
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 [rsp + 0x78], 0xfffffffffffffffe
mov qword [rsp + 0x670], rbx
mov rax, qword [0x18020b020]
xor rax, rsp
mov qword [rbp + 0x520], rax
mov qword [rsp + 0x70], r9
mov rbx, r8
mov qword [rsp + 0x60], rbx
mov rdi, rdx
mov qword [rsp + 0x68], rdx
cmp qword [rdx + 0x10], 0
je 0x1800a70dc
mov rax, qword [r8]
mov rdx, qword [r8 + 8]
cmp rax, rdx
je 0x1800a70dc
xor r15d, r15d
mov ecx, r15d
sub rdx, rax
sar rdx, 7
test rdx, rdx
je 0x1800a70dc
add rax, 0x7c
cmp byte [rax], r15b
jne 0x1800a59dd
inc rcx
sub rax, 0xffffffffffffff80
cmp rcx, rdx
jb 0x1800a59c7
jmp 0x1800a70dc
mov r8, rdi
lea rdx, [rbp + 0x3e0]
call fcn.1800a7d50
nop
xor eax, eax
mov qword [rbp + 0x388], rax
mov qword [rbp + 0x390], rax
mov qword [rbp + 0x388], r15
mov word [rbp + 0x390], ax
lea rdx, [rbp + 0x3e0]
lea rcx, [rbp + 0x388]
call fcn.1800a4b60
xor eax, eax
mov qword [rbp + 0x3d0], rax
mov qword [rbp + 0x3d8], rax
lea rax, [rbp + 0x388]
mov qword [rbp + 0x3d0], rax
mov byte [rbp + 0x3d8], 0
mov rcx, qword [rbp + 0x388]
test rcx, rcx
jne 0x1800a5a54
xor sil, sil
jmp 0x1800a5a75
mov edx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, 0xffffff7f
je 0x1800a5a6b
xor sil, sil
jmp 0x1800a5a75
mov byte [rbp + 0x390], 1
mov sil, 1
mov byte [rsp + 0x40], sil
mov byte [rbp + 0x3d8], sil
xor eax, eax
mov qword [rbp + 0x370], rax
mov qword [rbp + 0x378], rax
mov qword [rbp + 0x380], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x380], r15
mov byte [rsp + 0x41], al
lea r9, [rsp + 0x41]
lea r8, [rbp + 0x370]
mov rdx, rdi
call fcn.1800a7320
test al, al
jne 0x1800a5adf
cmp byte [rsp + 0x41], al
je 0x1800a5adf
mov rcx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1800a5ad9
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 + 0x58], rdx
mov rcx, qword [rbx]
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 7
test rax, rax
je 0x1800a6fd2
mov rax, r15
mov qword [rsp + 0x48], rax
nop
lea rdi, [rcx + rax]
cmp byte [rdi + 0x7c], 0
je 0x1800a5f80
mov rsi, r15
mov r14d, r15d
mov rax, qword [rbp + 0x378]
mov rcx, qword [rbp + 0x370]
sub rax, rcx
sar rax, 7
test rax, rax
je 0x1800a5b90
mov rbx, r15
shl rbx, 7
add rbx, rcx
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1800a5b55
mov rdx, qword [rdi]
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800a5b62
mov rcx, qword [rbx]
call fcn.180148fe0
test eax, eax
je 0x1800a5b8d
inc r14d
mov ebx, r14d
mov rax, qword [rbp + 0x378]
mov rcx, qword [rbp + 0x370]
sub rax, rcx
sar rax, 7
cmp rbx, rax
jb 0x1800a5b41
jmp 0x1800a5b90
mov rsi, rbx
test rsi, rsi
jne 0x1800a5d1f
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 rbx, qword [rbp + 0x378]
cmp qword [rbp + 0x380], rbx
je 0x1800a5cc7
mov qword [rsp + 0x50], rbx
lea rdx, [rbp + 0x420]
mov rcx, rbx
call fcn.1800260f0
nop
lea rcx, [rbx + 0x20]
lea rdx, [rbp + 0x440]
call fcn.1800260f0
nop
lea rcx, [rbx + 0x40]
lea rdx, [rbp + 0x460]
call fcn.1800260f0
nop
mov rax, qword [rbp + 0x480]
mov qword [rbx + 0x60], rax
mov rax, qword [rbp + 0x488]
mov qword [rbx + 0x68], rax
mov rax, qword [rbp + 0x490]
mov qword [rbx + 0x70], rax
mov eax, dword [rbp + 0x498]
mov dword [rbx + 0x78], eax
movzx eax, byte [rbp + 0x49c]
mov byte [rbx + 0x7c], al
mov rcx, qword [rbp + 0x378]
sub rcx, 0xffffffffffffff80
mov qword [rbp + 0x378], rcx
jmp 0x1800a5ce4
lea r8, [rbp + 0x420]
mov rdx, rbx
lea rcx, [rbp + 0x370]
call fcn.1800a8cd0
mov rcx, qword [rbp + 0x378]
mov rax, qword [rbp + 0x370]
sub rcx, rax
and rcx, 0xffffffffffffff80
lea rsi, [rax - 0x80]
add rsi, rcx
lea rcx, [rbp + 0x460]
call fcn.1800038d0
nop
lea rcx, [rbp + 0x440]
call fcn.1800038d0
nop
lea rcx, [rbp + 0x420]
call fcn.1800038d0
mov rdx, rsi
lea rcx, [rbp + 0x4a0]
call fcn.1800260f0
nop
lea rbx, [rsi + 0x20]
mov rdx, rbx
lea rcx, [rbp + 0x4c0]
call fcn.1800260f0
nop
lea r14, [rsi + 0x40]
mov rdx, r14
lea rcx, [rbp + 0x4e0]
call fcn.1800260f0
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 + 0x50], eax
mov dword [rbp + 0x518], eax
movzx eax, byte [rsi + 0x7c]
mov byte [rbp + 0x51c], al
cmp rsi, rdi
je 0x1800a5dad
mov rdx, rdi
cmp qword [rdi + 0x18], 8
jb 0x1800a5da1
mov rdx, qword [rdi]
mov r8, qword [rdi + 0x10]
mov rcx, rsi
call fcn.180003950
lea r8, [rdi + 0x20]
cmp rbx, r8
je 0x1800a5dcf
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1800a5dc3
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, rbx
call fcn.180003950
lea r8, [rdi + 0x40]
cmp r14, r8
je 0x1800a5df1
mov rdx, r8
cmp qword [r8 + 0x18], 8
jb 0x1800a5de5
mov rdx, qword [r8]
mov r8, qword [r8 + 0x10]
mov rcx, r14
call fcn.180003950
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 0x1800a5e3a
mov r8, qword [rsi]
mov rdx, qword [rsi + 0x10]
cmp rdx, qword [rbp + 0x4b0]
jne 0x1800a5f31
test rdx, rdx
je 0x1800a5e78
sub r8, rcx
nop dword [rax]
nop word [rax + rax]
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1800a5f31
add rcx, 2
sub rdx, 1
jne 0x1800a5e60
lea rcx, [rbp + 0x4c0]
cmp qword [rbp + 0x4d8], 8
cmovae rcx, qword [rbp + 0x4c0]
mov r8, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800a5e9c
mov r8, qword [rbx]
mov rdx, qword [rbx + 0x10]
cmp rdx, qword [rbp + 0x4d0]
jne 0x1800a5f31
test rdx, rdx
je 0x1800a5ec9
sub r8, rcx
movzx eax, word [rcx]
cmp word [r8 + rcx], ax
jne 0x1800a5f31
add rcx, 2
sub rdx, 1
jne 0x1800a5eb5
cmp qword [rsi + 0x60], r15
jne 0x1800a5f31
cmp qword [rsi + 0x68], r12
jne 0x1800a5f31
cmp qword [rsi + 0x70], r13
jne 0x1800a5f31
lea rcx, [rbp + 0x4e0]
cmp qword [rbp + 0x4f8], 8
cmovae rcx, qword [rbp + 0x4e0]
mov r8, r14
cmp qword [r14 + 0x18], 8
jb 0x1800a5eff
mov r8, qword [r14]
mov rdx, qword [r14 + 0x10]
cmp rdx, qword [rbp + 0x4f0]
jne 0x1800a5f31
test rdx, rdx
je 0x1800a5f28
sub r8, rcx
movzx eax, word [rcx]
cmp word [rcx + r8], ax
jne 0x1800a5f31
add rcx, 2
sub rdx, 1
jne 0x1800a5f14
mov eax, dword [rsp + 0x50]
cmp dword [rsi + 0x78], eax
je 0x1800a5f3f
mov r14b, 1
mov byte [rsp + 0x41], r14b
mov byte [rsi + 0x7c], r14b
jmp 0x1800a5f45
movzx r14d, byte [rsp + 0x41]
lea rcx, [rbp + 0x4e0]
call fcn.1800038d0
nop
lea rcx, [rbp + 0x4c0]
call fcn.1800038d0
nop
lea rcx, [rbp + 0x4a0]
call fcn.1800038d0
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rbx]
mov rax, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
xor r15d, r15d
inc rdx
mov qword [rsp + 0x58], rdx
sub rax, 0xffffffffffffff80
mov qword [rsp + 0x48], rax
mov rax, qword [rbx + 8]
sub rax, rcx
sar rax, 7
cmp rdx, rax
mov rax, qword [rsp + 0x48]
jb 0x1800a5b10
test r14b, r14b
je 0x1800a6fcd
mov rax, qword [rbp + 0x378]
cmp qword [rbp + 0x370], rax
je 0x1800a6fcd
xor eax, eax
mov qword [rbp + 0x398], rax
mov qword [rbp + 0x3a0], rax
mov qword [rbp + 0x3a8], rax
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x398], xmm0
mov qword [rbp + 0x3a8], r15
mov r9, qword [rbp + 0x378]
mov r10, r9
mov r8, qword [rbp + 0x370]
sub r10, r8
sar r10, 7
mov rcx, qword [rbp + 0x3a8]
sub rcx, qword [rbp + 0x398]
movabs rdi, 0x20c49ba5e353f7cf
mov rax, rdi
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r10, rdx
jbe 0x1800a6069
movabs rax, 0x4189374bc6a7ef
cmp r10, rax
ja 0x1800a7120
mov rdx, r10
lea rcx, [rbp + 0x398]
call fcn.1800a8480
mov r9, qword [rbp + 0x378]
mov r8, qword [rbp + 0x370]
mov r13, r15
mov rax, r9
sub rax, r8
sar rax, 7
test rax, rax
je 0x1800a63d2
mov r12, r15
lea rbx, [r8 + r12]
mov eax, dword [rbx + 0x78]
dec eax
cmp eax, 2
ja 0x1800a63b8
mov dword [rbp - 0x80], r15d
mov qword [rbp + 0x34c], r15
mov qword [rbp + 0x354], r15
mov qword [rbp + 0x35c], r15
mov dword [rbp + 0x364], r15d
xor edx, edx
mov r8d, 0x280
lea rcx, [rbp - 0x7c]
call fcn.18013b560
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x204]
call fcn.18013b560
xor eax, eax
mov qword [rbp + 0x304], rax
mov qword [rbp + 0x30c], rax
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 rdx, qword [rbp + 0x3a0]
cmp qword [rbp + 0x3a8], rdx
je 0x1800a61df
lea rax, [rbp - 0x80]
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 0x1800a6140
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 + 0x3a0]
add rdx, 0x3e8
mov qword [rbp + 0x3a0], rdx
jmp 0x1800a61f6
lea r8, [rbp - 0x80]
lea rcx, [rbp + 0x398]
call fcn.1800a8a90
mov rdx, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x398]
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.18013b560
xor edx, edx
mov r8d, 0x100
lea rcx, [rdi + 0x284]
call fcn.18013b560
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 0x1800a62b3
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800a6293
mov rcx, qword [rbx]
mov rdx, rdi
sub rdx, rcx
nop dword [rax]
movzx eax, word [rcx]
mov word [rcx + rdx + 4], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1800a62a0
jmp 0x1800a62cf
mov rdx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1800a62c0
mov rdx, qword [rbx]
mov r8d, 0x13e
lea rcx, [rdi + 4]
call fcn.18014ecd8
cmp qword [rbx + 0x30], 0x7f
ja 0x1800a6306
lea rcx, [rbx + 0x20]
cmp qword [rcx + 0x18], 8
jb 0x1800a62e4
mov rcx, qword [rcx]
mov rdx, rdi
sub rdx, rcx
nop word [rax + rax]
movzx eax, word [rcx]
mov word [rcx + rdx + 0x284], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1800a62f0
jmp 0x1800a6326
lea rdx, [rbx + 0x20]
cmp qword [rdx + 0x18], 8
jb 0x1800a6314
mov rdx, qword [rdx]
mov r8d, 0x7e
lea rcx, [rdi + 0x284]
call fcn.18014ecd8
cmp qword [rbx + 0x50], 0x23
ja 0x1800a6357
lea rcx, [rbx + 0x40]
cmp qword [rcx + 0x18], 8
jb 0x1800a633b
mov rcx, qword [rcx]
mov rdx, rdi
sub rdx, rcx
movzx eax, word [rcx]
mov word [rcx + rdx + 0x384], ax
lea rcx, [rcx + 2]
test ax, ax
jne 0x1800a6341
jmp 0x1800a6373
lea rdx, [rbx + 0x40]
cmp qword [rdx + 0x18], 8
jb 0x1800a6365
mov rdx, qword [rdx]
mov r8d, 0x23
mov rcx, r15
call fcn.18014ecd8
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 + 0x378]
mov r8, qword [rbp + 0x370]
xor r15d, r15d
movabs rdi, 0x20c49ba5e353f7cf
inc r13
sub r12, 0xffffffffffffff80
mov rax, r9
sub rax, r8
sar rax, 7
cmp r13, rax
jb 0x1800a6082
mov rcx, qword [rbp + 0x3a0]
cmp qword [rbp + 0x398], rcx
jne 0x1800a6556
mov r8, qword [rbp + 0x398]
test r8, r8
je 0x1800a6456
mov rcx, qword [rbp + 0x3a8]
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 0x1800a643c
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7126
mov rcx, r8
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x398], xmm0
mov qword [rbp + 0x3a8], r15
mov rcx, qword [rbp + 0x370]
test rcx, rcx
je 0x1800a64bf
mov rdx, qword [rbp + 0x378]
call fcn.1800a8ea0
mov rdx, qword [rbp + 0x380]
mov rcx, qword [rbp + 0x370]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a64a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a712c
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x380], r15
cmp byte [rsp + 0x40], 0
je 0x1800a64df
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a64d8
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x390], 0
mov qword [rbp + 0x3d0], r15
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a64ff
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x388], r15
mov word [rbp + 0x390], 0
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x1800a70c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a70bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a710e
jmp 0x1800a70bf
xor eax, eax
mov qword [rbp + 0x3b0], rax
mov qword [rbp + 0x3b8], rax
mov qword [rbp + 0x3c0], rax
mov r8, r15
mov qword [rbp + 0x3b0], r15
mov qword [rbp + 0x3b8], r15
mov r9, r15
mov qword [rbp + 0x3c0], r15
mov dword [rbp + 0x400], 0x2d2d4352
mov dword [rbp + 0x404], 0x35343332
mov dword [rbp + 0x408], 0x61534350
mov dword [rbp + 0x40c], 0x2d302e32
mov dword [rbp + 0x410], 0x2d736843
mov dword [rbp + 0x414], 0x61435243
mov dword [rbp + 0x418], 0x38313031
mov dword [rbp + 0x41c], 0x35313032
movdqa xmm2, xmmword [0x1801b1310]
mov eax, r15d
mov ecx, 1
movd xmm3, ecx
lea rcx, [rbp + 0x400]
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 0x1800a65f3
mov rcx, qword [rbp + 0x3a0]
mov r10, qword [rbp + 0x398]
sub rcx, r10
mov rax, rdi
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
add rdx, rax
test r10, r10
je 0x1800a6e13
imul r8d, edx, 0x3e8
lea r9, [rbp + 0x3b0]
mov rdx, r10
lea rcx, [rbp + 0x400]
call fcn.1800cc3d0
test al, al
je 0x1800a6e05
mov rbx, qword [rbp + 0x3b0]
mov rsi, qword [rbp + 0x3b8]
cmp rbx, rsi
jne 0x1800a6844
test rbx, rbx
je 0x1800a66d4
mov rdx, qword [rbp + 0x3c0]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800a66ba
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7132
mov rcx, rbx
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3b0], xmm0
mov qword [rbp + 0x3c0], r15
mov r8, qword [rbp + 0x398]
test r8, r8
je 0x1800a6744
mov rcx, qword [rbp + 0x3a8]
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 0x1800a672a
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7138
mov rcx, r8
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x398], xmm0
mov qword [rbp + 0x3a8], r15
mov rcx, qword [rbp + 0x370]
test rcx, rcx
je 0x1800a67ad
mov rdx, qword [rbp + 0x378]
call fcn.1800a8ea0
mov rdx, qword [rbp + 0x380]
mov rcx, qword [rbp + 0x370]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a6796
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a713e
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x380], r15
cmp byte [rsp + 0x40], 0
je 0x1800a67cd
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a67c6
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x390], 0
mov qword [rbp + 0x3d0], r15
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a67ed
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x388], r15
mov word [rbp + 0x390], 0
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x1800a70c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a70bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7114
jmp 0x1800a70bf
mov r14, qword [rsp + 0x68]
mov rcx, r14
cmp qword [r14 + 0x18], 8
jb 0x1800a6856
mov rcx, qword [r14]
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r8d, r8d
mov edx, 0x40000000
call fcn.18007e1f0
mov rdi, rax
lea rcx, [rax + 1]
test rcx, 0xfffffffffffffffe
jne 0x1800a694d
lea rdx, [0x1801aba10]
mov rcx, r14
call fcn.1800803a0
cmp rax, 0xffffffffffffffff
je 0x1800a694d
mov r9, rax
xor r8d, r8d
lea rdx, [rbp + 0x400]
mov rcx, r14
call fcn.180034a40
nop
lea rcx, [rbp + 0x400]
call fcn.180085080
cmp qword [r14 + 0x18], 8
jb 0x1800a68cc
mov r14, qword [r14]
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
xor r8d, r8d
mov edx, 0x40000000
mov rcx, r14
call fcn.18007e1f0
mov rdi, rax
mov rdx, qword [rbp + 0x418]
cmp rdx, 8
jb 0x1800a6935
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x400]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a6930
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7144
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
movdqu xmmword [rbp + 0x410], xmm0
mov word [rbp + 0x400], r15w
lea rax, [rdi - 1]
cmp rax, 0xfffffffffffffffd
ja 0x1800a6cab
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [rbp + 0x3c8], r15d
mov r8d, esi
sub r8d, ebx
mov qword [rsp + 0x20], r15
lea r9, [rbp + 0x3c8]
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 + 0x3c8]
cmp rax, rsi
jne 0x1800a6b8d
lea rax, [rbp + 0x370]
mov r9, qword [rsp + 0x70]
cmp r9, rax
je 0x1800a6a06
mov rcx, qword [r9]
mov rax, qword [rbp + 0x370]
mov qword [r9], rax
mov qword [rbp + 0x370], rcx
mov rcx, qword [r9 + 8]
mov rax, qword [rbp + 0x378]
mov qword [r9 + 8], rax
mov qword [rbp + 0x378], rcx
mov rcx, qword [r9 + 0x10]
mov rax, qword [rbp + 0x380]
mov qword [r9 + 0x10], rax
mov qword [rbp + 0x380], rcx
mov r8, r15
mov rcx, qword [r9]
mov rax, qword [r9 + 8]
sub rax, rcx
sar rax, 7
test rax, rax
je 0x1800a6a42
mov rdx, r15
nop
mov byte [rcx + rdx + 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 0x1800a6a20
test rbx, rbx
je 0x1800a6a90
mov rdx, qword [rbp + 0x3c0]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800a6a76
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a714a
mov rcx, rbx
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3b0], xmm0
mov qword [rbp + 0x3c0], r15
mov r8, qword [rbp + 0x398]
test r8, r8
je 0x1800a6b07
mov rcx, qword [rbp + 0x3a8]
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 0x1800a6aed
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7150
mov rcx, r8
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x398], xmm0
mov qword [rbp + 0x3a8], r15
mov rcx, qword [rbp + 0x370]
test rcx, rcx
je 0x1800a6b4b
mov rdx, qword [rbp + 0x378]
call fcn.1800a8ea0
mov r8, qword [rbp + 0x380]
mov rdx, qword [rbp + 0x370]
sub r8, rdx
sar r8, 7
call fcn.18009bd70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x380], r15
lea rcx, [rbp + 0x3d0]
call fcn.180085fd0
nop
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a6b71
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x388], r15
mov word [rbp + 0x390], 0
lea rcx, [rbp + 0x3e0]
call fcn.1800038d0
mov al, 1
jmp 0x1800a70de
test rbx, rbx
je 0x1800a6bdb
mov rdx, qword [rbp + 0x3c0]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800a6bc1
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7156
mov rcx, rbx
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3b0], xmm0
mov qword [rbp + 0x3c0], r15
mov r9, qword [rbp + 0x398]
test r9, r9
je 0x1800a6c27
mov rcx, qword [rbp + 0x3a8]
sub rcx, r9
movabs rax, 0x20c49ba5e353f7cf
imul rcx
sar rdx, 7
mov rax, rdx
shr rax, 0x3f
lea r8, [rax + rdx]
mov rdx, r9
call fcn.1800a87e0
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x398], xmm0
mov qword [rbp + 0x3a8], r15
mov rcx, qword [rbp + 0x370]
test rcx, rcx
je 0x1800a6c6b
mov rdx, qword [rbp + 0x378]
call fcn.1800a8ea0
mov r8, qword [rbp + 0x380]
mov rdx, qword [rbp + 0x370]
sub r8, rdx
sar r8, 7
call fcn.18009bd70
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x380], r15
lea rcx, [rbp + 0x3d0]
call fcn.180085fd0
nop
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a6c91
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x388], r15
mov word [rbp + 0x390], 0
lea rcx, [rbp + 0x3e0]
call fcn.1800038d0
jmp 0x1800a70dc
test rbx, rbx
je 0x1800a6cf9
mov rdx, qword [rbp + 0x3c0]
sub rdx, rbx
mov rax, rbx
cmp rdx, 0x1000
jb 0x1800a6cdf
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a715c
mov rcx, rbx
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3b0], xmm0
mov qword [rbp + 0x3c0], r15
mov r8, qword [rbp + 0x398]
test r8, r8
je 0x1800a6d70
mov rcx, qword [rbp + 0x3a8]
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 0x1800a6d56
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7162
mov rcx, r8
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x398], xmm0
mov qword [rbp + 0x3a8], r15
mov rcx, qword [rbp + 0x370]
test rcx, rcx
je 0x1800a6dd9
mov rdx, qword [rbp + 0x378]
call fcn.1800a8ea0
mov rdx, qword [rbp + 0x380]
mov rcx, qword [rbp + 0x370]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a6dc2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7168
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x380], r15
cmp byte [rsp + 0x40], 0
je 0x1800a6df9
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a6df2
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x390], 0
mov qword [rbp + 0x3d0], r15
jmp 0x1800a6c78
mov r9, qword [rbp + 0x3c0]
mov r8, qword [rbp + 0x3b0]
test r8, r8
je 0x1800a6e5d
sub r9, r8
mov rax, r8
cmp r9, 0x1000
jb 0x1800a6e40
add r9, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a716e
mov rdx, r9
mov rcx, r8
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x3b0], xmm0
mov qword [rbp + 0x3c0], r15
mov r8, qword [rbp + 0x398]
test r8, r8
je 0x1800a6ecd
mov rcx, qword [rbp + 0x3a8]
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 0x1800a6eb3
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7174
mov rcx, r8
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x398], xmm0
mov qword [rbp + 0x3a8], r15
mov rcx, qword [rbp + 0x370]
test rcx, rcx
je 0x1800a6f36
mov rdx, qword [rbp + 0x378]
call fcn.1800a8ea0
mov rdx, qword [rbp + 0x380]
mov rcx, qword [rbp + 0x370]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a6f1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a717a
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x380], r15
cmp byte [rsp + 0x40], 0
je 0x1800a6f56
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a6f4f
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x390], 0
mov qword [rbp + 0x3d0], r15
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a6f76
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x388], r15
mov word [rbp + 0x390], 0
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x1800a70c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a70bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a711a
jmp 0x1800a70bf
movzx esi, byte [rsp + 0x40]
mov rcx, qword [rbp + 0x370]
test rcx, rcx
je 0x1800a703b
mov rdx, qword [rbp + 0x378]
call fcn.1800a8ea0
mov rdx, qword [rbp + 0x380]
mov rcx, qword [rbp + 0x370]
sub rdx, rcx
and rdx, 0xffffffffffffff80
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a7024
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7180
call fcn.18011ca94
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x370], xmm0
mov qword [rbp + 0x380], r15
test sil, sil
je 0x1800a7059
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a7052
call qword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov byte [rbp + 0x390], 0
mov qword [rbp + 0x3d0], r15
mov rcx, qword [rbp + 0x388]
test rcx, rcx
je 0x1800a7079
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbp + 0x388], r15
mov word [rbp + 0x390], 0
mov rdx, qword [rbp + 0x3f8]
cmp rdx, 8
jb 0x1800a70c4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x3e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800a70bf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800a7108
call fcn.18011ca94
movdqa xmm0, xmmword [0x1801b12f0]
mov word [rbp + 0x3e0], r15w
movdqu xmmword [rbp + 0x3f0], xmm0
xor al, al
mov rcx, qword [rbp + 0x520]
xor rcx, rsp
call fcn.18011c650
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.180144c64
int3
call fcn.180144c64
int3
call fcn.180144c64
int3
call fcn.180144c64
nop
call fcn.18002e0e0
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
int3
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
nop
call fcn.180144c64
int3
call fcn.180144c64
int3