Function at 0x10005aa0
Capabilities:
Contain obfuscated stackstrings
Create directory
Delete directory
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1019dc89
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
mov eax, dword [0x1020f040]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xa4], ecx
lea eax, [ebp - 0xa0]
mov dword [ebp - 4], 0
lea edi, [ebp - 0x9e]
mov byte [ebp - 4], 1
mov dword [ebp - 0x94], 0
xorps xmm0, xmm0
movq qword [ebp - 0x9c], xmm0
mov word [ebp - 0xa0], 0x5453
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x188], 0
mov dword [ebp - 0x184], 0
sub edi, eax
je 0x10005b66
cmp edi, 0x7fffffff
ja 0x10007204
push edi
lea ecx, [ebp - 0x18c]
call fcn.10009f20
mov esi, dword [ebp - 0x18c]
lea eax, [ebp - 0xa0]
push edi
push eax
push esi
call fcn.10176510
lea eax, [esi + edi]
add esp, 0xc
mov dword [ebp - 0x188], eax
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 2
lea edi, [ebp - 0xa6]
mov word [ebp - 0xa8], 0x4447
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
mov dword [ebp - 0x178], 0
sub edi, eax
je 0x10005bd9
cmp edi, 0x7fffffff
ja 0x10007209
push edi
lea ecx, [ebp - 0x180]
call fcn.10009f20
mov esi, dword [ebp - 0x180]
lea eax, [ebp - 0xa8]
push edi
push eax
push esi
call fcn.10176510
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0xac]
mov byte [ebp - 4], 3
lea edi, [ebp - 0xaa]
mov word [ebp - 0xac], 0x5047
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x170], 0
mov dword [ebp - 0x16c], 0
sub edi, eax
je 0x10005c4c
cmp edi, 0x7fffffff
ja 0x1000720e
push edi
lea ecx, [ebp - 0x174]
call fcn.10009f20
mov esi, dword [ebp - 0x174]
lea eax, [ebp - 0xac]
push edi
push eax
push esi
call fcn.10176510
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0xb4]
mov byte [ebp - 4], 4
lea edi, [ebp - 0xb1]
mov word [ebp - 0xb4], 0x5055
mov byte [ebp - 0xb2], 0x46
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
mov dword [ebp - 0x160], 0
sub edi, eax
je 0x10005cc6
cmp edi, 0x7fffffff
ja 0x10007213
push edi
lea ecx, [ebp - 0x168]
call fcn.10009f20
mov esi, dword [ebp - 0x168]
lea eax, [ebp - 0xb4]
push edi
push eax
push esi
call fcn.10176510
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x164], eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 5
lea edi, [ebp - 0xb5]
mov word [ebp - 0xb8], 0x5552
mov byte [ebp - 0xb6], 0x46
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0
sub edi, eax
je 0x10005d40
cmp edi, 0x7fffffff
ja 0x10007218
push edi
lea ecx, [ebp - 0x15c]
call fcn.10009f20
mov esi, dword [ebp - 0x15c]
lea eax, [ebp - 0xb8]
push edi
push eax
push esi
call fcn.10176510
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x158], eax
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 6
lea edi, [ebp - 0xb9]
mov word [ebp - 0xbc], 0x4453
mov byte [ebp - 0xba], 0x46
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x148], 0
sub edi, eax
je 0x10005dba
cmp edi, 0x7fffffff
ja 0x1000721d
push edi
lea ecx, [ebp - 0x150]
call fcn.10009f20
mov esi, dword [ebp - 0x150]
lea eax, [ebp - 0xbc]
push edi
push eax
push esi
call fcn.10176510
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 7
lea edi, [ebp - 0xbd]
mov word [ebp - 0xc0], 0x4544
mov byte [ebp - 0xbe], 0x4c
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0
sub edi, eax
je 0x10005e34
cmp edi, 0x7fffffff
ja 0x10007222
push edi
lea ecx, [ebp - 0x144]
call fcn.10009f20
mov esi, dword [ebp - 0x144]
lea eax, [ebp - 0xc0]
push edi
push eax
push esi
call fcn.10176510
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 8
lea edi, [ebp - 0xae]
mov word [ebp - 0xb0], 0x5845
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x130], 0
sub edi, eax
je 0x10005ea7
cmp edi, 0x7fffffff
ja 0x10007227
push edi
lea ecx, [ebp - 0x138]
call fcn.10009f20
mov esi, dword [ebp - 0x138]
lea eax, [ebp - 0xb0]
push edi
push eax
push esi
call fcn.10176510
lea eax, [esi + edi]
add esp, 0xc
mov dword [ebp - 0x134], eax
lea eax, [ebp - 0xc4]
mov byte [ebp - 4], 9
lea edi, [ebp - 0xc1]
mov word [ebp - 0xc4], 0x4443
mov byte [ebp - 0xc2], 0x49
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0
sub edi, eax
je 0x10005f21
cmp edi, 0x7fffffff
ja 0x1000722c
push edi
lea ecx, [ebp - 0x12c]
call fcn.10009f20
mov esi, dword [ebp - 0x12c]
lea eax, [ebp - 0xc4]
push edi
push eax
push esi
call fcn.10176510
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0xc8]
mov byte [ebp - 4], 0xa
lea edi, [ebp - 0xc5]
mov word [ebp - 0xc8], 0x4444
mov byte [ebp - 0xc6], 0x49
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0
sub edi, eax
je 0x10005f9b
cmp edi, 0x7fffffff
ja 0x10007231
push edi
lea ecx, [ebp - 0x120]
call fcn.10009f20
mov esi, dword [ebp - 0x120]
lea eax, [ebp - 0xc8]
push edi
push eax
push esi
call fcn.10176510
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x11c], eax
lea eax, [ebp - 0xcc]
mov byte [ebp - 4], 0xb
lea edi, [ebp - 0xc9]
mov word [ebp - 0xcc], 0x4652
mov byte [ebp - 0xca], 0x49
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x10c], 0
sub edi, eax
je 0x10006015
cmp edi, 0x7fffffff
ja 0x10007236
push edi
lea ecx, [ebp - 0x114]
call fcn.10009f20
mov esi, dword [ebp - 0x114]
lea eax, [ebp - 0xcc]
push edi
push eax
push esi
call fcn.10176510
lea eax, [esi + edi]
add esp, 0xc
mov dword [ebp - 0x110], eax
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0xc
lea edi, [ebp - 0x8d]
mov word [ebp - 0x90], 0x4452
mov byte [ebp - 0x8e], 0x49
mov dword [ebp - 0x108], 0
mov dword [ebp - 0x104], 0
mov dword [ebp - 0x100], 0
sub edi, eax
je 0x1000608f
cmp edi, 0x7fffffff
ja 0x1000723b
push edi
lea ecx, [ebp - 0x108]
call fcn.10009f20
mov esi, dword [ebp - 0x108]
lea eax, [ebp - 0x90]
push edi
push eax
push esi
call fcn.10176510
lea eax, [esi + edi]
add esp, 0xc
mov dword [ebp - 0x104], eax
lea eax, [ebp - 0x190]
mov byte [ebp - 4], 0xd
push eax
lea edx, [ebp - 0x18c]
mov dword [ebp - 0x9c], 0
lea ecx, [ebp - 0xfc]
mov dword [ebp - 0x1c], edx
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x190], ecx
push eax
sub ecx, edx
mov dword [ebp - 0x98], 0
mov eax, 0x2aaaaaab
mov dword [ebp - 0x94], 0
imul ecx
lea ecx, [ebp - 0x9c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
call fcn.10005350
push fcn.100021e0
push 0xc
push 0xc
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0xf
push eax
call fcn.10172c84
push 0x18
call fcn.1002436b
mov edi, eax
add esp, 4
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 0x10
test edi, edi
je 0x10006143
xorps xmm0, xmm0
mov ecx, edi
push 0x40
movups xmmword [edi], xmm0
push str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
call fcn.100052b0
jmp 0x10006145
xor edi, edi
mov dword [ebp - 0x90], edi
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
mov eax, dword [eax + 4]
add eax, 4
push eax
call fcn.100057b0
push dword [ebp - 0x9c]
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x12
push eax
mov ecx, edi
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006186
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
mov ecx, dword [ebp - 0x3c]
add esp, 0x10
mov byte [ebp - 0x9f], al
cmp ecx, 0xf
jbe 0x100061e5
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100061d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007240
push ecx
push edx
call fcn.10172764
mov al, byte [ebp - 0x9f]
add esp, 8
mov esi, dword [ebp - 0xa4]
test al, al
je 0x100061f6
mov ecx, esi
call fcn.10007fa0
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0xc
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006218
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
mov ecx, dword [ebp - 0x3c]
add esp, 0x10
mov byte [ebp - 0x9f], al
cmp ecx, 0xf
jbe 0x10006277
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10006267
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007245
push ecx
push edx
call fcn.10172764
mov al, byte [ebp - 0x9f]
add esp, 8
test al, al
je 0x10006282
mov ecx, esi
call fcn.10007fa0
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x18
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x100062a4
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
mov ecx, dword [ebp - 0x3c]
add esp, 0x10
mov byte [ebp - 0x9f], al
cmp ecx, 0xf
jbe 0x10006303
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100062f3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000724a
push ecx
push edx
call fcn.10172764
mov al, byte [ebp - 0x9f]
add esp, 8
test al, al
je 0x1000631a
mov eax, dword [ebp + 8]
mov ecx, esi
mov eax, dword [eax + 4]
add eax, 0xac
push eax
call fcn.10008b80
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x24
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x1000633c
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
mov ecx, dword [ebp - 0x3c]
add esp, 0x10
mov byte [ebp - 0x9f], al
cmp ecx, 0xf
jbe 0x1000639b
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000638b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000724f
push ecx
push edx
call fcn.10172764
mov al, byte [ebp - 0x9f]
add esp, 8
test al, al
je 0x100066c1
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x13
mov eax, dword [eax + 4]
add eax, 0x1c
push eax
call fcn.100057b0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x14
push eax
call fcn.1000f790
add esp, 4
test al, al
je 0x10006540
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.10011ab0
add esp, 8
cmp dword [eax + 0x14], 7
jbe 0x100063e9
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x70]
mov esi, eax
call fcn.100035f0
test esi, esi
jne 0x100064df
lea eax, [ebp - 0x9f]
mov dword [ebp - 0x1c], esi
push eax
lea ecx, [ebp - 0x56]
mov dword [ebp - 0x74], 0x6f727245
push ecx
lea edx, [ebp - 0x74]
mov dword [ebp - 0x70], 0x70552072
xorps xmm0, xmm0
mov dword [ebp - 0x6c], 0x64616f6c
push edx
lea ecx, [ebp - 0x24]
movq qword [ebp - 0x24], xmm0
mov dword [ebp - 0x68], 0x20676e6f
mov dword [ebp - 0x64], 0x656c6966
mov dword [ebp - 0x60], 0x43202c20
mov dword [ebp - 0x5c], 0x2065646f
mov word [ebp - 0x58], 0x203a
call fcn.10005a30
mov byte [ebp - 4], 0x15
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.1000aed0
add esp, 8
mov esi, eax
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0xfc]
mov ecx, edi
push eax
call fcn.100237c0
push esi
push eax
push dword [ebp - 0x1a]
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 0x17
call fcn.100058a0
mov esi, dword [ebp - 0xa4]
lea eax, [ebp - 0x70]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x18
call fcn.10008800
lea ecx, [ebp - 0x70]
call fcn.10002190
lea ecx, [ebp - 0xfc]
call fcn.10002190
lea ecx, [ebp - 0xe4]
call fcn.10002190
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x14
call fcn.100021e0
jmp 0x100064e5
mov esi, dword [ebp - 0xa4]
lea eax, [ebp - 0x20]
push eax
call fcn.10003af0
mov ecx, dword [ebp - 0x1c]
add esp, 4
cmp ecx, 0x7fffffff
jg 0x10006524
mov eax, dword [ebp - 0x20]
jl 0x10006508
cmp eax, 0xe2329aff
jae 0x10006524
add eax, 0x1dcd6500
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
adc ecx, 0
push eax
mov dword [ebp - 0x1c], ecx
call fcn.10003350
add esp, 4
jmp 0x10006546
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0xffffffff
push eax
mov dword [ebp - 0x1c], SysReAllocStringLen
call fcn.10003350
add esp, 4
jmp 0x10006546
mov esi, dword [ebp - 0xa4]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0xdc
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.1000faa0
add esp, 8
mov dword [ebp - 0x5c], 0
test al, al
lea ecx, [ebp - 0x16]
lea eax, [ebp - 0x9f]
xorps xmm0, xmm0
movq qword [ebp - 0x64], xmm0
push eax
push ecx
lea ecx, [ebp - 0x64]
jne 0x1000660f
lea edx, [ebp - 0x34]
mov dword [ebp - 0x34], 0x6f727245
push edx
mov dword [ebp - 0x30], 0x70552072
mov dword [ebp - 0x2c], 0x64616f6c
mov dword [ebp - 0x28], 0x20676e6f
mov dword [ebp - 0x24], 0x656c6966
mov dword [ebp - 0x20], 0x43202c20
mov dword [ebp - 0x1c], 0x2065646f
mov word [ebp - 0x18], 0x203a
call fcn.10005a30
mov byte [ebp - 4], 0x19
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.1000aed0
add esp, 8
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.100237c0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x1b
push eax
push dword [ebp - 0x1a]
call fcn.100058a0
mov byte [ebp - 4], 0x1c
jmp 0x10006681
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0x63637553
push edx
mov dword [ebp - 0x24], 0x46737365
mov dword [ebp - 0x20], 0x55206c75
mov dword [ebp - 0x1c], 0x616f6c70
mov word [ebp - 0x18], 0x2064
call fcn.10005a30
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x1d
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.10010d80
add esp, 8
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.100237c0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x1f
push eax
push dword [ebp - 0x1a]
call fcn.100058a0
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0x30]
mov ecx, esi
push eax
call fcn.10008800
lea ecx, [ebp - 0x30]
call fcn.10002190
lea ecx, [ebp - 0xe4]
call fcn.10002190
lea ecx, [ebp - 0xfc]
call fcn.10002190
lea ecx, [ebp - 0x64]
call fcn.100021e0
lea ecx, [ebp - 0x50]
call fcn.10002190
mov dword [ebp - 4], 0x12
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x30
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x100066e6
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
add esp, 0x10
mov byte [ebp - 0x9f], al
lea ecx, [ebp - 0xe4]
call fcn.10002190
cmp byte [ebp - 0x9f], 0
mov esi, dword [ebp - 0xa4]
je 0x10006736
mov eax, dword [ebp + 8]
mov ecx, esi
mov eax, dword [eax + 4]
add eax, 0x64
push eax
call fcn.10009b30
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x3c
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006758
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
mov ecx, dword [ebp - 0x3c]
add esp, 0x10
mov byte [ebp - 0x9f], al
cmp ecx, 0xf
jbe 0x100068ca
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100068ba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007254
jmp 0x100068ba
lea ecx, [ebp - 0x90]
call fcn.10007340
lea ecx, [ebp - 0x9c]
call fcn.1000a020
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x10006896
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x10006896
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x10006896
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.10172772
mov esp, ebp
pop ebp
ret 8
push ecx
push edx
call fcn.10172764
mov al, byte [ebp - 0x9f]
add esp, 8
test al, al
je 0x100068e3
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
lea ecx, [eax + 0x64]
add eax, 0x34
push ecx
push eax
mov ecx, esi
call fcn.1000a310
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x48
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006905
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
mov ecx, dword [ebp - 0x3c]
add esp, 0x10
mov byte [ebp - 0x9f], al
cmp ecx, 0xf
jbe 0x10006964
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10006954
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007259
push ecx
push edx
call fcn.10172764
mov al, byte [ebp - 0x9f]
add esp, 8
test al, al
je 0x10006a56
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x1000697d
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x10006a56
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x16]
lea eax, [ebp - 0x9f]
mov dword [ebp - 0x2c], 0x656c6544
push eax
push ecx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x28], 0x69466574
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0x4520656c
push edx
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x20], 0x726f7272
mov dword [ebp - 0x1c], 0x646f4320
mov word [ebp - 0x18], 0x2065
call fcn.10005a30
mov byte [ebp - 4], 0x26
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.1000aed0
add esp, 8
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.100237c0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x28
push eax
push dword [ebp - 0x1a]
call fcn.100058a0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x29
push eax
mov ecx, esi
call fcn.10008800
lea ecx, [ebp - 0x50]
call fcn.10002190
lea ecx, [ebp - 0xe4]
call fcn.10002190
lea ecx, [ebp - 0xfc]
call fcn.10002190
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x12
call fcn.100021e0
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x54
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006a7b
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
add esp, 0x10
mov byte [ebp - 0x9f], al
lea ecx, [ebp - 0xe4]
call fcn.10002190
cmp byte [ebp - 0x9f], 0
je 0x10006bab
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x34
push eax
call fcn.1000f500
add esp, 4
test al, al
jne 0x10006bab
lea eax, [ebp - 0x9f]
mov dword [ebp - 0x5c], 0
push eax
lea ecx, [ebp - 0x39]
mov dword [ebp - 0x54], 0x63657845
push ecx
lea edx, [ebp - 0x54]
mov dword [ebp - 0x50], 0x20657475
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0x656c6966
push edx
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x48], 0x72726520
mov dword [ebp - 0x44], 0x4320726f
mov dword [ebp - 0x40], 0x2065646f
mov word [ebp - 0x3c], 0x203a
mov byte [ebp - 0x3a], 0x20
call fcn.10005a30
mov byte [ebp - 4], 0x2a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.1000aed0
add esp, 8
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x2b
push eax
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.100237c0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x2c
push eax
push dword [ebp - 0x1a]
call fcn.100058a0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x2d
push eax
mov ecx, esi
call fcn.10008800
lea ecx, [ebp - 0x50]
call fcn.10002190
lea ecx, [ebp - 0xe4]
call fcn.10002190
lea ecx, [ebp - 0xfc]
call fcn.10002190
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x12
call fcn.100021e0
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x60
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006bd0
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
add esp, 0x10
mov byte [ebp - 0x9f], al
lea ecx, [ebp - 0xe4]
call fcn.10002190
cmp byte [ebp - 0x9f], 0
je 0x10006d09
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x7c
cmp dword [eax + 0x14], 0xf
jbe 0x10006c1e
mov eax, dword [eax]
push 0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryExA]
test eax, eax
jne 0x10006d09
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x36]
lea eax, [ebp - 0x9f]
mov dword [ebp - 0x54], 0x61657243
push eax
push ecx
lea edx, [ebp - 0x54]
mov dword [ebp - 0x50], 0x46206574
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0x65646c6f
push edx
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x48], 0x72452072
mov dword [ebp - 0x44], 0x20726f72
mov dword [ebp - 0x40], 0x6f727245
mov dword [ebp - 0x3c], 0x3a202072
mov word [ebp - 0x38], 0x2020
call fcn.10005a30
mov byte [ebp - 4], 0x2e
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.1000aed0
add esp, 8
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.100237c0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x30
push eax
push dword [ebp - 0x1a]
call fcn.100058a0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x31
push eax
mov ecx, esi
call fcn.10008800
lea ecx, [ebp - 0x50]
call fcn.10002190
lea ecx, [ebp - 0xe4]
call fcn.10002190
lea ecx, [ebp - 0xfc]
call fcn.10002190
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x12
call fcn.100021e0
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x6c
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006d2e
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
add esp, 0x10
mov byte [ebp - 0x9f], al
lea ecx, [ebp - 0xe4]
call fcn.10002190
cmp byte [ebp - 0x9f], 0
je 0x10006e55
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x7c
cmp dword [eax + 0x14], 0xf
jbe 0x10006d7c
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x10006e55
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x16]
lea eax, [ebp - 0x9f]
mov dword [ebp - 0x2c], 0x656c6544
push eax
push ecx
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x28], 0x46206574
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0x65646c6f
push edx
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x20], 0x72452072
mov dword [ebp - 0x1c], 0x20726f72
mov word [ebp - 0x18], 0x203a
call fcn.10005a30
mov byte [ebp - 4], 0x32
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.1000aed0
add esp, 8
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.100237c0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x34
push eax
push dword [ebp - 0x1a]
call fcn.100058a0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x35
push eax
mov ecx, esi
call fcn.10008800
lea ecx, [ebp - 0x50]
call fcn.10002190
lea ecx, [ebp - 0xe4]
call fcn.10002190
lea ecx, [ebp - 0xfc]
call fcn.10002190
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x12
call fcn.100021e0
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x78
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006e7a
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
add esp, 0x10
mov byte [ebp - 0x9f], al
lea ecx, [ebp - 0xe4]
call fcn.10002190
cmp byte [ebp - 0x9f], 0
je 0x10006fb7
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [eax + 0xa8], 0xf
lea ecx, [eax + 0x94]
jbe 0x10006ece
mov ecx, dword [ecx]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x10006ed9
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x10006fb7
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x19]
lea eax, [ebp - 0x9f]
mov dword [ebp - 0x30], 0x616e6552
push eax
push ecx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x2c], 0x4f20656d
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0x63656a62
push edx
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x24], 0x45202074
mov dword [ebp - 0x20], 0x726f7272
mov word [ebp - 0x1c], 0x3a20
mov byte [ebp - 0x1a], 0x20
call fcn.10005a30
mov byte [ebp - 4], 0x36
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.1000aed0
add esp, 8
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x37
push eax
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.100237c0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x38
push eax
push dword [ebp - 0x1a]
call fcn.100058a0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x39
push eax
mov ecx, esi
call fcn.10008800
lea ecx, [ebp - 0x50]
call fcn.10002190
lea ecx, [ebp - 0xe4]
call fcn.10002190
lea ecx, [ebp - 0xfc]
call fcn.10002190
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x12
call fcn.100021e0
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x84
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.100237c0
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006fde
mov ecx, dword [ecx]
cmp dword [ebp - 0x78], 0xf
lea eax, [ebp - 0x8c]
push edx
cmova eax, dword [ebp - 0x8c]
push ecx
push dword [ebp - 0x7c]
push eax
call fcn.100055b0
add esp, 0x10
mov byte [ebp - 0x9f], al
lea ecx, [ebp - 0xe4]
call fcn.10002190
cmp byte [ebp - 0x9f], 0
je 0x10007117
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [eax + 0xa8], 0xf
lea ecx, [eax + 0x94]
jbe 0x10007032
mov ecx, dword [ecx]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x1000703d
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x10007117
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x19]
lea eax, [ebp - 0x9f]
mov dword [ebp - 0x30], 0x616e6552
push eax
push ecx
lea edx, [ebp - 0x30]
mov dword [ebp - 0x2c], 0x4f20656d
xorps xmm0, xmm0
mov dword [ebp - 0x28], 0x63656a62
push edx
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x24], 0x45202074
mov dword [ebp - 0x20], 0x726f7272
mov word [ebp - 0x1c], 0x3a20
mov byte [ebp - 0x1a], 0x20
call fcn.10005a30
mov byte [ebp - 4], 0x3a
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0xfc]
push eax
call fcn.1000aed0
add esp, 8
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x3b
push eax
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.100237c0
push dword [ebp - 0x1c]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x3c
push eax
push dword [ebp - 0x1a]
call fcn.100058a0
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0x3d
push eax
mov ecx, esi
call fcn.10008800
lea ecx, [ebp - 0x50]
call fcn.10002190
lea ecx, [ebp - 0xe4]
call fcn.10002190
lea ecx, [ebp - 0xfc]
call fcn.10002190
lea ecx, [ebp - 0x64]
call fcn.100021e0
mov ecx, dword [ebp - 0x78]
cmp ecx, 0xf
jbe 0x1000714e
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10007144
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000725e
push ecx
push edx
call fcn.10172764
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
jmp 0x10006858
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.10002d20
call fcn.1017a16f
call fcn.1017a16f
call fcn.1017a16f
call fcn.1017a16f
call fcn.1017a16f
call fcn.1017a16f
call fcn.1017a16f
int3