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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002864a
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x250
mov eax, dword [0x10037040]
xor eax, ebp
mov dword [ebp - 0x1c], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x20c], ecx
xor eax, eax
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 4], eax
lea edi, [ebp - 0x19e]
mov byte [ebp - 4], 1
xorps xmm0, xmm0
mov dword [ebp - 0x17c], eax
lea eax, [ebp - 0x1a0]
movq qword [ebp - 0x184], xmm0
mov word [ebp - 0x1a0], 0x5453
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
sub edi, eax
je 0x10002490
cmp edi, 0x7fffffff
ja 0x100042d5
push edi
lea ecx, [ebp - 0xd8]
call fcn.10001e00
mov esi, dword [ebp - 0xd8]
lea eax, [ebp - 0x1a0]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [esi + edi]
add esp, 0xc
mov dword [ebp - 0xd4], eax
mov byte [ebp - 4], 2
lea eax, [ebp - 0x1dc]
lea edi, [ebp - 0x1da]
mov word [ebp - 0x1dc], 0x4447
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0
sub edi, eax
je 0x10002503
cmp edi, 0x7fffffff
ja 0x100042da
push edi
lea ecx, [ebp - 0xcc]
call fcn.10001e00
mov esi, dword [ebp - 0xcc]
lea eax, [ebp - 0x1dc]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [esi + edi]
add esp, 0xc
mov dword [ebp - 0xc8], eax
mov byte [ebp - 4], 3
lea eax, [ebp - 0x1e0]
lea edi, [ebp - 0x1de]
mov word [ebp - 0x1e0], 0x5047
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0
sub edi, eax
je 0x10002576
cmp edi, 0x7fffffff
ja 0x100042df
push edi
lea ecx, [ebp - 0xc0]
call fcn.10001e00
mov esi, dword [ebp - 0xc0]
lea eax, [ebp - 0x1e0]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0xbc], eax
mov byte [ebp - 4], 4
lea eax, [ebp - 0x208]
lea edi, [ebp - 0x205]
mov word [ebp - 0x208], 0x5055
mov byte [ebp - 0x206], 0x46
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], 0
sub edi, eax
je 0x100025f0
cmp edi, 0x7fffffff
ja 0x100042e4
push edi
lea ecx, [ebp - 0xb4]
call fcn.10001e00
mov esi, dword [ebp - 0xb4]
lea eax, [ebp - 0x208]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0xb0], eax
mov byte [ebp - 4], 5
lea eax, [ebp - 0x15c]
lea edi, [ebp - 0x159]
mov word [ebp - 0x15c], 0x5552
mov byte [ebp - 0x15a], 0x46
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
sub edi, eax
je 0x1000266a
cmp edi, 0x7fffffff
ja 0x100042e9
push edi
lea ecx, [ebp - 0xa8]
call fcn.10001e00
mov esi, dword [ebp - 0xa8]
lea eax, [ebp - 0x15c]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0xa4], eax
mov byte [ebp - 4], 6
lea eax, [ebp - 0x160]
lea edi, [ebp - 0x15d]
mov word [ebp - 0x160], 0x4453
mov byte [ebp - 0x15e], 0x46
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
sub edi, eax
je 0x100026e4
cmp edi, 0x7fffffff
ja 0x100042ee
push edi
lea ecx, [ebp - 0x9c]
call fcn.10001e00
mov esi, dword [ebp - 0x9c]
lea eax, [ebp - 0x160]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x98], eax
mov byte [ebp - 4], 7
lea eax, [ebp - 0x1b4]
lea edi, [ebp - 0x1b1]
mov word [ebp - 0x1b4], 0x4544
mov byte [ebp - 0x1b2], 0x4c
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0
sub edi, eax
je 0x1000275e
cmp edi, 0x7fffffff
ja 0x100042f3
push edi
lea ecx, [ebp - 0x90]
call fcn.10001e00
mov esi, dword [ebp - 0x90]
lea eax, [ebp - 0x1b4]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x8c], eax
mov byte [ebp - 4], 8
lea eax, [ebp - 0x1e4]
lea edi, [ebp - 0x1e2]
mov word [ebp - 0x1e4], 0x5845
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
sub edi, eax
je 0x100027c8
cmp edi, 0x7fffffff
ja 0x100042f8
push edi
lea ecx, [ebp - 0x84]
call fcn.10001e00
mov esi, dword [ebp - 0x84]
lea eax, [ebp - 0x1e4]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x80], eax
mov byte [ebp - 4], 9
lea eax, [ebp - 0x1b8]
lea edi, [ebp - 0x1b5]
mov word [ebp - 0x1b8], 0x4443
mov byte [ebp - 0x1b6], 0x49
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
sub edi, eax
je 0x10002830
cmp edi, 0x7fffffff
ja 0x100042fd
push edi
lea ecx, [ebp - 0x78]
call fcn.10001e00
mov esi, dword [ebp - 0x78]
lea eax, [ebp - 0x1b8]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x74], eax
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x158]
lea edi, [ebp - 0x155]
mov word [ebp - 0x158], 0x4444
mov byte [ebp - 0x156], 0x49
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
sub edi, eax
je 0x10002898
cmp edi, 0x7fffffff
ja 0x10004302
push edi
lea ecx, [ebp - 0x6c]
call fcn.10001e00
mov esi, dword [ebp - 0x6c]
lea eax, [ebp - 0x158]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x68], eax
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x1a8]
lea edi, [ebp - 0x1a5]
mov word [ebp - 0x1a8], 0x4652
mov byte [ebp - 0x1a6], 0x49
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 0
sub edi, eax
je 0x10002900
cmp edi, 0x7fffffff
ja 0x10004307
push edi
lea ecx, [ebp - 0x60]
call fcn.10001e00
mov esi, dword [ebp - 0x60]
lea eax, [ebp - 0x1a8]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x1ac]
lea edi, [ebp - 0x1a9]
mov word [ebp - 0x1ac], 0x4452
mov byte [ebp - 0x1aa], 0x49
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 0
sub edi, eax
je 0x10002968
cmp edi, 0x7fffffff
ja 0x1000430c
push edi
lea ecx, [ebp - 0x54]
call fcn.10001e00
mov esi, dword [ebp - 0x54]
lea eax, [ebp - 0x1ac]
push edi
push eax
push esi
call sub.VCRUNTIME140.dll_memmove
lea eax, [edi + esi]
add esp, 0xc
mov dword [ebp - 0x50], eax
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0xd8]
mov dword [ebp - 0x1a4], eax
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x210], ecx
sub ecx, eax
mov eax, 0x2aaaaaab
mov dword [ebp - 0x184], 0
imul ecx
lea ecx, [ebp - 0x210]
mov dword [ebp - 0x180], 0
sar edx, 1
push ecx
mov eax, edx
mov dword [ebp - 0x17c], 0
shr eax, 0x1f
lea ecx, [ebp - 0x1a4]
push ecx
add eax, edx
lea ecx, [ebp - 0x184]
push eax
call fcn.10008f30
push fcn.10001f10
push 0xc
push 0xc
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 0xf
push eax
call fcn.10026fe9
mov esi, dword [sym.imp.mfc140u.dll_operator_1]
push 0x18
call esi
mov edi, eax
add esp, 4
mov dword [ebp - 0x1a4], edi
mov byte [ebp - 4], 0x10
test edi, edi
je 0x10002a25
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.10009bd0
jmp 0x10002a27
xor edi, edi
mov dword [ebp - 0x15c], edi
push 1
mov byte [ebp - 4], 0x11
call esi
mov esi, eax
add esp, 4
mov dword [ebp - 0x210], esi
mov dword [ebp - 0x160], esi
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x178]
mov eax, dword [ebx + 8]
mov eax, dword [eax + 4]
add eax, 4
push eax
call fcn.10009d00
mov byte [ebp - 4], 0x13
lea eax, [ebp - 0x1d4]
push dword [ebp - 0x184]
push eax
call fcn.10025a00
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x10002a7f
mov edx, dword [eax]
push dword [eax + 0x10]
cmp dword [ebp - 0x164], 0xf
lea ecx, [ebp - 0x178]
push edx
cmova ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x168]
call fcn.10009810
mov ecx, dword [ebp - 0x1c0]
add esp, 8
mov byte [ebp - 0x19f], al
cmp ecx, 0xf
jbe 0x10002aed
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002add
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10002add
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10026cc1
mov al, byte [ebp - 0x19f]
add esp, 8
test al, al
je 0x10002afb
call fcn.10004330
jmp 0x1000411e
mov eax, dword [ebp - 0x184]
add eax, 0xc
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x10002b1b
mov edx, dword [eax]
push dword [eax + 0x10]
cmp dword [ebp - 0x164], 0xf
lea ecx, [ebp - 0x178]
push edx
cmova ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x168]
call fcn.10009810
mov ecx, dword [ebp - 0x1c0]
add esp, 8
mov byte [ebp - 0x19f], al
cmp ecx, 0xf
jbe 0x10002b89
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002b79
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10002b79
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10026cc1
mov al, byte [ebp - 0x19f]
add esp, 8
test al, al
je 0x10002b97
call fcn.10004330
jmp 0x1000411e
mov eax, dword [ebp - 0x184]
add eax, 0x18
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x10002bb7
mov edx, dword [eax]
push dword [eax + 0x10]
cmp dword [ebp - 0x164], 0xf
lea ecx, [ebp - 0x178]
push edx
cmova ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x168]
call fcn.10009810
mov ecx, dword [ebp - 0x1c0]
add esp, 8
mov byte [ebp - 0x19f], al
cmp ecx, 0xf
jbe 0x10002c25
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002c15
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10002c15
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10026cc1
mov al, byte [ebp - 0x19f]
add esp, 8
test al, al
je 0x10002c3f
mov eax, dword [ebx + 8]
mov eax, dword [eax + 4]
add eax, 0xac
push eax
call fcn.10004a40
jmp 0x1000411e
mov eax, dword [ebp - 0x184]
add eax, 0x24
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x10002c5f
mov edx, dword [eax]
push dword [eax + 0x10]
cmp dword [ebp - 0x164], 0xf
lea ecx, [ebp - 0x178]
push edx
cmova ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x168]
call fcn.10009810
mov ecx, dword [ebp - 0x1c0]
add esp, 8
mov byte [ebp - 0x19f], al
cmp ecx, 0xf
jbe 0x10002ccd
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002cbd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10002cbd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10026cc1
mov al, byte [ebp - 0x19f]
add esp, 8
test al, al
je 0x100037c2
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x19c]
mov eax, dword [ebx + 8]
mov eax, dword [eax + 4]
add eax, 0x1c
push eax
call fcn.10009d00
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x19c]
cmp dword [ebp - 0x188], 0xf
push 0x1002e058
cmova eax, dword [ebp - 0x19c]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
add esp, 8
test eax, eax
je 0x1000309c
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
lea eax, [ebp - 0x19c]
cmp dword [ebp - 0x188], 0xf
cmova eax, dword [ebp - 0x19c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x10003091
lea ecx, [ebp - 0x204]
mov dword [ebp - 0x14c], eax
lea esi, [ebp - 0x1e6]
mov dword [ebp - 0x204], 0x6f727245
xorps xmm0, xmm0
mov dword [ebp - 0x200], 0x70552072
movq qword [ebp - 0x154], xmm0
sub esi, ecx
mov dword [ebp - 0x1fc], 0x64616f6c
mov dword [ebp - 0x1f8], 0x20676e6f
mov dword [ebp - 0x1f4], 0x656c6966
mov dword [ebp - 0x1f0], 0x43202c20
mov dword [ebp - 0x1ec], 0x2065646f
mov word [ebp - 0x1e8], 0x203a
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1a4], esi
je 0x10002e2d
cmp esi, 0x7fffffff
ja 0x10004311
push esi
lea ecx, [ebp - 0x154]
call fcn.10001e00
push esi
mov esi, dword [ebp - 0x154]
lea eax, [ebp - 0x204]
push eax
push esi
mov dword [ebp - 0x1a8], esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x1a4]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 4], 0x16
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x1f]
mov dword [ebp - 0x1b0], ecx
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x1b0]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x1b0], eax
test eax, eax
jne 0x10002e42
push ecx
lea eax, [ebp - 0x1f]
push eax
push esi
lea ecx, [ebp - 0x1d4]
call fcn.10002120
mov byte [ebp - 4], 0x18
lea esi, [ebp - 0x228]
mov eax, 0x380
mov dword [ebp - 0x218], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1b0], eax
movups xmmword [ebp - 0x228], xmm0
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
mov dword [ebp - 0x1b8], eax
cmp eax, dword [ebp - 0x150]
je 0x10002f33
mov al, byte [eax]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov byte [ebp - 0x158], al
cmp ecx, edx
jae 0x10002f0f
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x10002ef8
mov eax, dword [esi]
add eax, ecx
mov cl, byte [ebp - 0x158]
mov byte [eax + 1], 0
mov byte [eax], cl
mov eax, dword [ebp - 0x1b8]
inc eax
jmp 0x10002ec9
push dword [ebp - 0x158]
mov byte [ebp - 0x1a4], 0
push dword [ebp - 0x1a4]
push ecx
mov ecx, esi
call fcn.10011f30
mov eax, dword [ebp - 0x1b8]
inc eax
jmp 0x10002ec9
lea eax, [ebp - 0x1d4]
push eax
lea eax, [ebp - 0x228]
push eax
push dword [ebp - 0x20c]
lea ecx, [ebp - 0x200]
call fcn.10009240
mov esi, dword [ebp - 0x1b0]
or esi, 0x400
mov dword [ebp - 0x1ac], esi
lea eax, [ebp - 0x200]
mov byte [ebp - 4], 0x19
push eax
call fcn.10006ef0
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xf
jbe 0x10002fb2
mov edx, dword [ebp - 0x200]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002fa8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003043
push ecx
push edx
call fcn.10026cc1
add esp, 8
and esi, 0xfffffdff
mov byte [ebp - 4], 0x17
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x1b0], esi
cmp ecx, 0xf
jbe 0x10002ff8
mov edx, dword [ebp - 0x228]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10002fee
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003043
push ecx
push edx
call fcn.10026cc1
add esp, 8
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x1c0]
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
cmp ecx, 0xf
jbe 0x10003053
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003049
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10003049
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.10026cc1
add esp, 8
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x1a8]
test ecx, ecx
je 0x10003091
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10003087
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push edx
push ecx
call fcn.10026cc1
add esp, 8
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebx + 8]
mov eax, dword [eax + 4]
add eax, 0xdc
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.100104f0
mov dword [ebp - 0x14c], 0
xorps xmm0, xmm0
movq qword [ebp - 0x154], xmm0
test al, al
jne 0x100033bf
xor eax, eax
mov dword [ebp - 0x1d8], 0x6f727245
lea ecx, [ebp - 0x1d8]
mov dword [ebp - 0x1d4], 0x70552072
lea esi, [ebp - 0x1ba]
mov dword [ebp - 0x1d0], 0x64616f6c
sub esi, ecx
mov dword [ebp - 0x1cc], 0x20676e6f
mov dword [ebp - 0x1c8], 0x656c6966
mov dword [ebp - 0x1c4], 0x43202c20
mov dword [ebp - 0x1c0], 0x2065646f
mov word [ebp - 0x1bc], 0x203a
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1a4], esi
je 0x100031a5
cmp esi, 0x7fffffff
ja 0x10004316
push esi
lea ecx, [ebp - 0x154]
call fcn.10001e00
push esi
mov esi, dword [ebp - 0x154]
lea eax, [ebp - 0x1d8]
push eax
push esi
mov dword [ebp - 0x1a8], esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x1a4]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1b4], eax
mov byte [ebp - 4], 0x1a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x1f]
mov dword [ebp - 0x1ac], ecx
nop word [eax + eax]
mov eax, 0xcccccccd
dec esi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x1ac]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x1ac], eax
test eax, eax
jne 0x100031c0
push ecx
lea eax, [ebp - 0x1f]
push eax
push esi
lea ecx, [ebp - 0x200]
call fcn.10002120
mov eax, dword [ebp - 0x1b0]
or eax, 3
mov byte [ebp - 4], 0x1c
lea esi, [ebp - 0x240]
or eax, 4
mov dword [ebp - 0x230], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1b0], eax
movups xmmword [ebp - 0x240], xmm0
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
mov dword [ebp - 0x1b8], eax
cmp eax, dword [ebp - 0x150]
je 0x100032b8
mov al, byte [eax]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov byte [ebp - 0x158], al
cmp ecx, edx
jae 0x10003294
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x1000327d
mov eax, dword [esi]
add eax, ecx
mov cl, byte [ebp - 0x158]
mov byte [eax + 1], 0
mov byte [eax], cl
mov eax, dword [ebp - 0x1b8]
inc eax
jmp 0x1000324e
push dword [ebp - 0x158]
mov byte [ebp - 0x1a4], 0
push dword [ebp - 0x1a4]
push ecx
mov ecx, esi
call fcn.10011f30
mov eax, dword [ebp - 0x1b8]
inc eax
jmp 0x1000324e
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x240]
push eax
push dword [ebp - 0x20c]
lea ecx, [ebp - 0x1d4]
call fcn.10009240
mov eax, dword [ebp - 0x1b0]
or eax, 8
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x1d
push eax
call fcn.10006ef0
mov ecx, dword [ebp - 0x1c0]
cmp ecx, 0xf
jbe 0x10003330
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003326
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push ecx
push edx
call fcn.10026cc1
add esp, 8
mov ecx, dword [ebp - 0x22c]
cmp ecx, 0xf
jbe 0x10003366
mov edx, dword [ebp - 0x240]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000335c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push ecx
push edx
call fcn.10026cc1
add esp, 8
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
mov ecx, dword [ebp - 0x1ec]
cmp ecx, 0xf
jbe 0x10003676
mov edx, dword [ebp - 0x200]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000366c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1000366c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
xor eax, eax
mov dword [ebp - 0x30], 0x63637553
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x2c], 0x46737365
lea esi, [ebp - 0x1e]
mov dword [ebp - 0x28], 0x55206c75
sub esi, ecx
mov dword [ebp - 0x24], 0x616f6c70
mov word [ebp - 0x20], 0x2064
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x1a4], esi
je 0x1000345d
cmp esi, 0x7fffffff
ja 0x1000431b
push esi
lea ecx, [ebp - 0x154]
call fcn.10001e00
push esi
mov esi, dword [ebp - 0x154]
lea eax, [ebp - 0x30]
push eax
push esi
mov dword [ebp - 0x1a8], esi
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x1a4]
add esp, 0xc
add eax, esi
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x14c]
mov dword [ebp - 0x1b4], eax
push 0x104
lea eax, [ebp - 0x148]
mov byte [ebp - 4], 0x1e
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x148]
cmp dword [ebp - 0x188], 0xf
lea eax, [ebp - 0x19c]
cmova eax, dword [ebp - 0x19c]
push 0
push ecx
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x1f0], 0
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x1ec], 0
movups xmmword [ebp - 0x200], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100034c7
sub ecx, edx
lea eax, [ebp - 0x148]
push ecx
push eax
lea ecx, [ebp - 0x200]
call fcn.10009bd0
mov eax, dword [ebp - 0x1b0]
or eax, 0x10
mov byte [ebp - 4], 0x20
lea esi, [ebp - 0x258]
or eax, 0x20
mov dword [ebp - 0x248], 0
xorps xmm0, xmm0
mov dword [ebp - 0x1b0], eax
movups xmmword [ebp - 0x258], xmm0
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
mov dword [ebp - 0x1b8], eax
cmp eax, dword [ebp - 0x150]
je 0x1000359a
mov al, byte [eax]
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov byte [ebp - 0x158], al
cmp ecx, edx
jae 0x10003576
lea eax, [ecx + 1]
mov dword [esi + 0x10], eax
mov eax, esi
cmp edx, 0xf
jbe 0x1000355f
mov eax, dword [esi]
add eax, ecx
mov cl, byte [ebp - 0x158]
mov byte [eax + 1], 0
mov byte [eax], cl
mov eax, dword [ebp - 0x1b8]
inc eax
jmp 0x10003530
push dword [ebp - 0x158]
mov byte [ebp - 0x1a4], 0
push dword [ebp - 0x1a4]
push ecx
mov ecx, esi
call fcn.10011f30
mov eax, dword [ebp - 0x1b8]
inc eax
jmp 0x10003530
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x258]
push eax
push dword [ebp - 0x20c]
lea ecx, [ebp - 0x1d4]
call fcn.10009240
mov eax, dword [ebp - 0x1b0]
or eax, 0x40
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x1d4]
mov byte [ebp - 4], 0x21
push eax
call fcn.10006ef0
mov ecx, dword [ebp - 0x1c0]
cmp ecx, 0xf
jbe 0x10003612
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003608
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push ecx
push edx
call fcn.10026cc1
add esp, 8
mov ecx, dword [ebp - 0x244]
cmp ecx, 0xf
jbe 0x1000364c
mov edx, dword [ebp - 0x258]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003642
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push ecx
push edx
call fcn.10026cc1
add esp, 8
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
jmp 0x10003381
push ecx
push edx
call fcn.10026cc1
add esp, 8
mov ecx, dword [ebp - 0x1a8]
test ecx, ecx
je 0x100036b0
mov edx, dword [ebp - 0x1b4]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x100036a6
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push edx
push ecx
call fcn.10026cc1
add esp, 8
mov ecx, dword [ebp - 0x188]
cmp ecx, 0xf
jbe 0x100036ea
mov edx, dword [ebp - 0x19c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100036e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push ecx
push edx
call fcn.10026cc1
add esp, 8
mov esi, dword [ebp - 0x210]
jmp 0x1000411e
mov eax, dword [ebp - 0x184]
add eax, 0x30
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x100037e2
mov edx, dword [eax]
push dword [eax + 0x10]
cmp dword [ebp - 0x164], 0xf
lea ecx, [ebp - 0x178]
push edx
cmova ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x168]
call fcn.10009810
mov ecx, dword [ebp - 0x1c0]
add esp, 8
mov byte [ebp - 0x19f], al
cmp ecx, 0xf
jbe 0x1000384e
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000383e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push ecx
push edx
call fcn.10026cc1
mov al, byte [ebp - 0x19f]
add esp, 8
test al, al
je 0x10003866
mov eax, dword [ebx + 8]
mov eax, dword [eax + 4]
add eax, 0x64
push eax
call fcn.100068a0
jmp 0x1000411e
mov eax, dword [ebp - 0x184]
add eax, 0x3c
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x10003886
mov edx, dword [eax]
push dword [eax + 0x10]
cmp dword [ebp - 0x164], 0xf
lea ecx, [ebp - 0x178]
push edx
cmova ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x168]
call fcn.10009810
mov ecx, dword [ebp - 0x1c0]
add esp, 8
mov byte [ebp - 0x19f], al
cmp ecx, 0xf
jbe 0x100038f2
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100038e2
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push ecx
push edx
call fcn.10026cc1
mov al, byte [ebp - 0x19f]
add esp, 8
test al, al
je 0x1000390e
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
lea eax, [ecx + 0x64]
push eax
lea eax, [ecx + 0x34]
push eax
call fcn.10005d90
jmp 0x1000411e
mov eax, dword [ebp - 0x184]
add eax, 0x48
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x1000392e
mov edx, dword [eax]
push dword [eax + 0x10]
cmp dword [ebp - 0x164], 0xf
lea ecx, [ebp - 0x178]
push edx
cmova ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x168]
call fcn.10009810
mov ecx, dword [ebp - 0x1c0]
add esp, 8
mov byte [ebp - 0x19f], al
cmp ecx, 0xf
jbe 0x1000399a
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000398a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push ecx
push edx
call fcn.10026cc1
mov al, byte [ebp - 0x19f]
add esp, 8
test al, al
je 0x10003b27
mov eax, dword [ebx + 8]
mov eax, dword [eax + 4]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x100039b3
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x1000411e
mov dword [ebp - 0x14c], eax
lea ecx, [ebp - 0x34]
lea eax, [ebp - 0x1e]
mov dword [ebp - 0x34], 0x656c6544
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0x69466574
movq qword [ebp - 0x154], xmm0
sub eax, ecx
mov dword [ebp - 0x2c], 0x4520656c
mov dword [ebp - 0x28], 0x726f7272
mov dword [ebp - 0x24], 0x646f4320
mov word [ebp - 0x20], 0x2065
mov dword [ebp - 0x154], 0
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
mov dword [ebp - 0x1b0], eax
je 0x10003a6b
cmp eax, 0x7fffffff
ja 0x10004320
push eax
lea ecx, [ebp - 0x154]
call fcn.10001e00
push dword [ebp - 0x1b0]
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x154]
call sub.VCRUNTIME140.dll_memmove
mov eax, dword [ebp - 0x154]
add esp, 0xc
add eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x150], eax
mov byte [ebp - 4], 0x27
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x19c]
call fcn.10002290
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x28
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.10025a00
mov byte [ebp - 4], 0x29
lea ecx, [ebp - 0x1d4]
push dword [ebp - 0x1a4]
mov edx, eax
call fcn.10008b00
add esp, 4
push eax
mov byte [ebp - 4], 0x2a
call fcn.10006ef0
lea ecx, [ebp - 0x1d4]
call fcn.10002240
lea ecx, [ebp - 0x200]
call fcn.10002240
lea ecx, [ebp - 0x19c]
call fcn.10002240
mov ecx, dword [ebp - 0x154]
test ecx, ecx
je 0x1000411e
mov edx, dword [ebp - 0x14c]
mov eax, ecx
sub edx, ecx
cmp edx, 0x1000
jb 0x10003b18
mov ecx, dword [eax - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002ad7
push edx
push ecx
call fcn.10026cc1
add esp, 8
jmp 0x1000411e
mov eax, dword [ebp - 0x184]
add eax, 0x54
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x10003b47
mov edx, dword [eax]
push dword [eax + 0x10]
cmp dword [ebp - 0x164], 0xf
lea ecx, [ebp - 0x178]
push edx
cmova ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x168]
call fcn.10009810
mov ecx, dword [ebp - 0x1c0]
add esp, 8
mov byte [ebp - 0x19f], al
cmp ecx, 0xf
jbe 0x10003bb3
mov edx, dword [ebp - 0x1d4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003ba3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100033b9
push ecx
push edx
call fcn.10026cc1
mov al, byte [ebp - 0x19f]
add esp, 8
test al, al
je 0x10003c86
mov eax, dword [ebx + 8]
mov eax, dword [eax + 4]
add eax, 0x34
push eax
call fcn.1000e060
test al, al
jne 0x1000411e
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x14c], 0
push ecx
lea eax, [ebp - 0x21]
mov dword [ebp - 0x3c], 0x63657845
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0x20657475
push ecx
lea ecx, [ebp - 0x154]
movq qword [ebp - 0x154], xmm0
mov dword [ebp - 0x34], 0x656c6966
mov dword [ebp - 0x30], 0x72726520
mov dword [ebp - 0x2c], 0x4320726f
mov dword [ebp - 0x28], 0x2065646f
mov word [ebp - 0x24], 0x203a
mov byte [ebp - 0x22], 0x20
call fcn.10007c80
mov byte [ebp - 4], 0x2b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x19c]
call fcn.10002290
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x2c
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.10025a00
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1d4]
push dword [ebp - 0x1a4]
mov edx, eax
call fcn.10008b00
add esp, 4
mov byte [ebp - 4], 0x2e
jmp 0x100040ec
mov eax, dword [ebp - 0x184]
add eax, 0x60
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
cmp dword [eax + 0x14], 0xf
jbe 0x10003ca6
mov edx, dword [eax]
push dword [eax + 0x10]
cmp dword [ebp - 0x164], 0xf
lea ecx, [ebp - 0x178]
push edx
cmova ecx, dword [ebp - 0x178]
mov edx, dword [ebp - 0x168]
call fcn.10009810
add esp, 8
mov byte [ebp - 0x19f], al
lea ecx, [ebp - 0x1d4]
call fcn.10002240
cmp byte [ebp - 0x19f], 0
je 0x10003dbc
mov eax, dword [ebx + 8]
push 0
mov ecx, dword [eax + 4]
add ecx, 0x7c
call fcn.10001ea0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x1000411e
lea ecx, [ebp - 0x3c]
mov dword [ebp - 0x14c], eax
push ecx
lea eax, [ebp - 0x1e]
mov dword [ebp - 0x3c], 0x61657243
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0x46206574
push ecx
lea ecx, [ebp - 0x154]
movq qword [ebp - 0x154], xmm0
mov dword [ebp - 0x34], 0x65646c6f
mov dword [ebp - 0x30], 0x72452072
mov dword [ebp - 0x2c], 0x20726f72
mov dword [ebp - 0x28], 0x6f727245
mov dword [ebp - 0x24], 0x3a202072
mov word [ebp - 0x20], 0x2020
call fcn.10007c80
mov byte [ebp - 4], 0x2f
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x19c]
call fcn.10002290
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.10025a00
mov byte [ebp - 4], 0x31
lea ecx, [ebp - 0x1d4]
push dword [ebp - 0x1a4]
mov edx, eax
call fcn.10008b00
add esp, 4
mov byte [ebp - 4], 0x32
jmp 0x100040ec
push 9
lea ecx, [ebp - 0x184]
call fcn.10007bb0
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
lea ecx, [ebp - 0x178]
call fcn.10008a20
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 0x19f], al
call fcn.10002240
cmp byte [ebp - 0x19f], 0
je 0x10003ec3
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 4]
add ecx, 0x7c
call fcn.10001ea0
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x1000411e
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x14c], eax
push ecx
lea eax, [ebp - 0x1e]
mov dword [ebp - 0x34], 0x656c6544
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x30], 0x46206574
push ecx
lea ecx, [ebp - 0x154]
movq qword [ebp - 0x154], xmm0
mov dword [ebp - 0x2c], 0x65646c6f
mov dword [ebp - 0x28], 0x72452072
mov dword [ebp - 0x24], 0x20726f72
mov word [ebp - 0x20], 0x203a
call fcn.10007c80
mov byte [ebp - 4], 0x33
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x19c]
call fcn.10002290
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x34
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.10025a00
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x1d4]
push dword [ebp - 0x1a4]
mov edx, eax
call fcn.10008b00
add esp, 4
mov byte [ebp - 4], 0x36
jmp 0x100040ec
push 0xa
lea ecx, [ebp - 0x184]
call fcn.10007bb0
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
lea ecx, [ebp - 0x178]
call fcn.10008a20
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 0x19f], al
call fcn.10002240
cmp byte [ebp - 0x19f], 0
je 0x10003fda
mov eax, dword [ebx + 8]
mov edx, dword [eax + 4]
lea ecx, [edx + 0x94]
call fcn.10001ea0
push eax
lea ecx, [edx + 0x34]
call fcn.10001ea0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x1000411e
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x14c], eax
push ecx
lea eax, [ebp - 0x21]
mov dword [ebp - 0x38], 0x616e6552
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0x4f20656d
push ecx
lea ecx, [ebp - 0x154]
movq qword [ebp - 0x154], xmm0
mov dword [ebp - 0x30], 0x63656a62
mov dword [ebp - 0x2c], 0x45202074
mov dword [ebp - 0x28], 0x726f7272
mov word [ebp - 0x24], 0x3a20
mov byte [ebp - 0x22], 0x20
call fcn.10007c80
mov byte [ebp - 4], 0x37
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x19c]
call fcn.10002290
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x38
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.10025a00
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x1d4]
push dword [ebp - 0x1a4]
mov edx, eax
call fcn.10008b00
add esp, 4
mov byte [ebp - 4], 0x3a
jmp 0x100040ec
push 0xb
lea ecx, [ebp - 0x184]
call fcn.10007bb0
push eax
lea eax, [ebp - 0x1d4]
push eax
call fcn.10025a00
mov edx, eax
lea ecx, [ebp - 0x178]
call fcn.10008a20
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 0x19f], al
call fcn.10002240
cmp byte [ebp - 0x19f], 0
je 0x1000411e
mov eax, dword [ebx + 8]
mov edx, dword [eax + 4]
lea ecx, [edx + 0x94]
call fcn.10001ea0
push eax
lea ecx, [edx + 0x34]
call fcn.10001ea0
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x1000411e
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x14c], eax
push ecx
lea eax, [ebp - 0x21]
mov dword [ebp - 0x38], 0x616e6552
push eax
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0x4f20656d
push ecx
lea ecx, [ebp - 0x154]
movq qword [ebp - 0x154], xmm0
mov dword [ebp - 0x30], 0x63656a62
mov dword [ebp - 0x2c], 0x45202074
mov dword [ebp - 0x28], 0x726f7272
mov word [ebp - 0x24], 0x3a20
mov byte [ebp - 0x22], 0x20
call fcn.10007c80
mov byte [ebp - 4], 0x3b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea ecx, [ebp - 0x19c]
call fcn.10002290
mov dword [ebp - 0x1a4], eax
lea eax, [ebp - 0x154]
mov byte [ebp - 4], 0x3c
push eax
lea eax, [ebp - 0x200]
push eax
call fcn.10025a00
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0x1d4]
push dword [ebp - 0x1a4]
mov edx, eax
call fcn.10008b00
add esp, 4
mov byte [ebp - 4], 0x3e
push eax
call fcn.10006ef0
lea ecx, [ebp - 0x1d4]
call fcn.10002240
lea ecx, [ebp - 0x200]
call fcn.10002240
lea ecx, [ebp - 0x19c]
call fcn.10002240
lea ecx, [ebp - 0x154]
call fcn.10001f10
mov ecx, dword [ebp - 0x164]
cmp ecx, 0xf
jbe 0x10004158
mov edx, dword [ebp - 0x178]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000414e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002ad7
push ecx
push edx
call fcn.10026cc1
add esp, 8
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0xf
mov byte [ebp - 0x178], 0
test esi, esi
je 0x10004182
push 1
push esi
call fcn.10026cc1
add esp, 8
test edi, edi
je 0x100041d5
mov ecx, dword [edi + 0x14]
cmp ecx, 0xf
jbe 0x100041b9
mov eax, dword [edi]
inc ecx
cmp ecx, 0x1000
jb 0x100041af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10002ad7
mov eax, edx
push ecx
push eax
call fcn.10026cc1
add esp, 8
push 0x18
push edi
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
call fcn.10026cc1
add esp, 8
lea ecx, [ebp - 0x184]
call fcn.10007d80
jmp 0x10004287
mov esi, dword [ebx + 0xc]
test esi, esi
je 0x100042af
or edi, 0xffffffff
mov eax, edi
lock xadd dword [esi + 4], eax
jne 0x100042af
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
lock xadd dword [esi + 8], edi
dec edi
jne 0x100042af
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov eax, dword [ebp - 0x20c]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.10026c90
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
call fcn.10001df0
int3