Function at 0x10002f80
Capabilities:
Create directory
Delete directory
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10191169
mov eax, dword fs:[0]
push eax
sub esp, 0x1b8
mov eax, dword [0x101fd000]
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 - 0x1a4], ecx
mov edi, dword [ebp + 8]
push 1
mov dword [ebp - 0x134], edi
mov dword [ebp - 4], 0
call fcn.1002adfd
mov esi, eax
add esp, 4
mov dword [ebp - 0x16c], esi
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x150]
mov eax, dword [edi + 4]
add eax, 4
push eax
call fcn.1000de10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x150]
cmp dword [ebp - 0x13c], 0xf
mov edi, dword [ebp - 0x140]
mov edx, edi
cmova ecx, dword [ebp - 0x150]
push 2
push 0x101da92c
call fcn.1000ca40
add esp, 8
test al, al
je 0x10003080
lea eax, [ebp - 0x170]
mov dword [ebp - 0x170], 0x10023570
push eax
lea ecx, [ebp - 0x138]
call fcn.1000b920
mov byte [ebp - 4], 3
cmp dword [ebp - 0x134], 0
je 0x10004916
call sub.KERNEL32.dll_GetCurrentThreadId
mov ecx, dword [ebp - 0x134]
cmp ecx, eax
je 0x1000491d
push 0
push ecx
push dword [ebp - 0x138]
call fcn.10166c0b
add esp, 0xc
test eax, eax
jne 0x10004924
jmp 0x10004740
mov eax, dword [ebp - 0x13c]
lea ecx, [ebp - 0x150]
cmp eax, 0xf
cmova ecx, dword [ebp - 0x150]
cmp edi, 2
jne 0x1000310b
mov edx, 0x101da930
sub edi, 4
jb 0x100030b6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100030bb
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100030a5
cmp edi, 0xfffffffc
je 0x100030ef
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100030e8
cmp edi, 0xfffffffd
je 0x100030ef
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100030e8
cmp edi, 0xfffffffe
je 0x100030ef
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100030e8
cmp edi, 0xffffffff
je 0x100030ef
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100030ef
sbb eax, eax
or eax, 1
jmp 0x100030f1
xor eax, eax
test eax, eax
jne 0x100030ff
call fcn.10006860
jmp 0x10004740
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 2
jne 0x100031a5
mov edx, 0x101da934
sub edi, 4
jb 0x10003141
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003146
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10003130
cmp edi, 0xfffffffc
je 0x1000317a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003173
cmp edi, 0xfffffffd
je 0x1000317a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003173
cmp edi, 0xfffffffe
je 0x1000317a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003173
cmp edi, 0xffffffff
je 0x1000317a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000317a
sbb eax, eax
or eax, 1
jmp 0x1000317c
xor eax, eax
test eax, eax
jne 0x10003199
mov ecx, dword [ebp - 0x134]
mov eax, dword [ecx + 4]
add eax, 0xac
push eax
call fcn.10006fc0
jmp 0x10004740
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 3
jne 0x10003864
mov edx, 0x101da938
sub edi, 4
jb 0x100031d9
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100031de
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100031c8
cmp edi, 0xfffffffc
je 0x10003212
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x1000320b
cmp edi, 0xfffffffd
je 0x10003212
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x1000320b
cmp edi, 0xfffffffe
je 0x10003212
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x1000320b
cmp edi, 0xffffffff
je 0x10003212
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x10003212
sbb eax, eax
or eax, 1
jmp 0x10003214
xor eax, eax
test eax, eax
jne 0x10003858
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x168]
mov edi, dword [ebp - 0x134]
mov eax, dword [edi + 4]
add eax, 0x1c
push eax
call fcn.1000de10
mov byte [ebp - 4], 5
lea eax, [ebp - 0x168]
cmp dword [ebp - 0x154], 0xf
push 0x101dadec
cmova eax, dword [ebp - 0x168]
push eax
call fcn.101722af
add esp, 8
test eax, eax
je 0x100033b4
push eax
call fcn.101723eb
add esp, 4
lea eax, [ebp - 0x168]
cmp dword [ebp - 0x154], 0xf
cmova eax, dword [ebp - 0x168]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x100033a9
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea edi, [ebp - 0x17]
mov dword [ebp - 0x170], ecx
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x170]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x100032a3
push ecx
lea eax, [ebp - 0x17]
push eax
push edi
lea ecx, [ebp - 0x1a0]
call fcn.10002ca0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 6
push eax
mov edx, str.Up_Err_:
lea ecx, [ebp - 0x188]
call fcn.10002730
add esp, 4
push eax
mov byte [ebp - 4], 7
call fcn.100094b0
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x1000334a
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003340
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000492b
push ecx
push edx
call fcn.10165540
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp ecx, 0xf
jbe 0x100033a3
mov edx, dword [ebp - 0x1a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003399
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000492b
push ecx
push edx
call fcn.10165540
add esp, 8
mov edi, dword [ebp - 0x134]
push 0x1f4
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [edi + 4]
add eax, 0xdc
push eax
lea eax, [ebp - 0x168]
push eax
call fcn.100144b0
test al, al
jne 0x100034dd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea edi, [ebp - 0x17]
mov dword [ebp - 0x170], ecx
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x170]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x100033e2
push ecx
lea eax, [ebp - 0x17]
push eax
push edi
lea ecx, [ebp - 0x1a0]
call fcn.10002ca0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 8
push eax
mov edx, str.Up_Err_:
lea ecx, [ebp - 0x188]
call fcn.10002730
add esp, 4
push eax
mov byte [ebp - 4], 9
call fcn.100094b0
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x10003485
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000347b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004930
push ecx
push edx
call fcn.10165540
add esp, 8
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp ecx, 0xf
jbe 0x1000365f
mov edx, dword [ebp - 0x1a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003655
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004930
jmp 0x10003655
push 0x104
lea eax, [ebp - 0x130]
push 0
push eax
call fcn.101695f0
add esp, 0xc
lea ecx, [ebp - 0x130]
cmp dword [ebp - 0x154], 0xf
lea eax, [ebp - 0x168]
cmova eax, dword [ebp - 0x168]
push 0
push ecx
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x178], 0
lea ecx, [ebp - 0x130]
mov dword [ebp - 0x174], 0
movups xmmword [ebp - 0x188], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003543
sub ecx, edx
lea eax, [ebp - 0x130]
push ecx
push eax
lea ecx, [ebp - 0x188]
call fcn.1000dcd0
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x2c]
push 8
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push str.Success
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], 0
call fcn.1000dcd0
lea eax, [ebp - 0x188]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x1a4]
lea ecx, [ebp - 0x1a0]
call fcn.1000c260
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0xc
push eax
call fcn.100094b0
mov ecx, dword [ebp - 0x18c]
cmp ecx, 0xf
jbe 0x100035f1
mov edx, dword [ebp - 0x1a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100035e7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004935
push ecx
push edx
call fcn.10165540
add esp, 8
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10003625
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000361b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004935
push ecx
push edx
call fcn.10165540
add esp, 8
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x1000365f
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003655
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004935
push ecx
push edx
call fcn.10165540
add esp, 8
mov ecx, dword [ebp - 0x154]
cmp ecx, 0xf
jbe 0x10004740
mov edx, dword [ebp - 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004736
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004935
jmp 0x10004736
call fcn.10165540
add esp, 8
mov eax, dword [ebp - 0x1a4]
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.1016550f
mov esp, ebp
pop ebp
ret 4
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 3
jne 0x100038fa
mov edx, 0x101da960
sub edi, 4
jb 0x10003898
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1000389d
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10003887
cmp edi, 0xfffffffc
je 0x100038d1
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100038ca
cmp edi, 0xfffffffd
je 0x100038d1
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100038ca
cmp edi, 0xfffffffe
je 0x100038d1
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100038ca
cmp edi, 0xffffffff
je 0x100038d1
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100038d1
sbb eax, eax
or eax, 1
jmp 0x100038d3
xor eax, eax
test eax, eax
jne 0x100038ee
mov ecx, dword [ebp - 0x134]
mov eax, dword [ecx + 4]
add eax, 0x64
push eax
call fcn.10008e60
jmp 0x10004740
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 3
jne 0x10003997
mov edx, 0x101da964
sub edi, 4
jb 0x10003931
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003936
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10003920
cmp edi, 0xfffffffc
je 0x1000396a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003963
cmp edi, 0xfffffffd
je 0x1000396a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003963
cmp edi, 0xfffffffe
je 0x1000396a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003963
cmp edi, 0xffffffff
je 0x1000396a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000396a
sbb eax, eax
or eax, 1
jmp 0x1000396c
xor eax, eax
test eax, eax
jne 0x1000398b
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ecx + 4]
lea eax, [ecx + 0x64]
push eax
lea eax, [ecx + 0x34]
push eax
call fcn.100083a0
jmp 0x10004740
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 3
jne 0x10003b9e
mov edx, 0x101da968
sub edi, 4
jb 0x100039d1
nop word [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100039d6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100039c0
cmp edi, 0xfffffffc
je 0x10003a0a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003a03
cmp edi, 0xfffffffd
je 0x10003a0a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003a03
cmp edi, 0xfffffffe
je 0x10003a0a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003a03
cmp edi, 0xffffffff
je 0x10003a0a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x10003a0a
sbb eax, eax
or eax, 1
jmp 0x10003a0c
xor eax, eax
test eax, eax
jne 0x10003b92
mov ecx, dword [ebp - 0x134]
mov eax, dword [ecx + 4]
add eax, 0x34
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.10012810
cmp dword [eax + 0x14], 7
jbe 0x10003a35
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp - 0x18c]
mov edi, eax
cmp ecx, 7
jbe 0x10003a7e
mov edx, dword [ebp - 0x1a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10003a74
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493a
push ecx
push edx
call fcn.10165540
add esp, 8
test edi, edi
jne 0x10004740
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea edi, [ebp - 0x17]
mov dword [ebp - 0x170], ecx
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x170]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x10003a97
push ecx
lea eax, [ebp - 0x17]
push eax
push edi
lea ecx, [ebp - 0x1a0]
call fcn.10002ca0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x12
push eax
mov edx, str.DEL:
lea ecx, [ebp - 0x188]
call fcn.10002730
add esp, 4
push eax
mov byte [ebp - 4], 0x13
call fcn.100094b0
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x10003b3a
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003b30
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
mov ecx, dword [ebp - 0x18c]
cmp ecx, 0xf
jbe 0x10004740
mov edx, dword [ebp - 0x1a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004736
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
jmp 0x10004736
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 2
jne 0x10003cf2
mov edx, 0x101da974
sub edi, 4
jb 0x10003bd2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003bd7
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10003bc1
cmp edi, 0xfffffffc
je 0x10003c0b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003c04
cmp edi, 0xfffffffd
je 0x10003c0b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003c04
cmp edi, 0xfffffffe
je 0x10003c0b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003c04
cmp edi, 0xffffffff
je 0x10003c0b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x10003c0b
sbb eax, eax
or eax, 1
jmp 0x10003c0d
xor eax, eax
test eax, eax
jne 0x10003ce6
mov ecx, dword [ebp - 0x134]
mov eax, dword [ecx + 4]
add eax, 0x34
push eax
call fcn.10012070
test al, al
jne 0x10004740
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea edi, [ebp - 0x17]
mov dword [ebp - 0x170], ecx
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x170]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x10003c40
push ecx
lea eax, [ebp - 0x17]
push eax
push edi
lea ecx, [ebp - 0x1a0]
call fcn.10002ca0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x14
push eax
mov edx, 0x101da978
lea ecx, [ebp - 0x188]
call fcn.10002730
add esp, 4
push eax
mov byte [ebp - 4], 0x15
call fcn.100094b0
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x10003b3a
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003b30
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
jmp 0x10003b30
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 3
jne 0x10003f35
mov edx, 0x101da97c
sub edi, 4
jb 0x10003d26
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003d2b
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10003d15
cmp edi, 0xfffffffc
je 0x10003d5f
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003d58
cmp edi, 0xfffffffd
je 0x10003d5f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003d58
cmp edi, 0xfffffffe
je 0x10003d5f
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003d58
cmp edi, 0xffffffff
je 0x10003d5f
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x10003d5f
sbb eax, eax
or eax, 1
jmp 0x10003d61
xor eax, eax
test eax, eax
jne 0x10003f29
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
add eax, 0x7c
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.10012810
cmp dword [eax + 0x14], 7
jbe 0x10003d8a
mov eax, dword [eax]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, dword [ebp - 0x18c]
mov edi, eax
cmp ecx, 7
jbe 0x10003dd5
mov edx, dword [ebp - 0x1a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x10003dcb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
test edi, edi
jne 0x10004740
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea edi, [ebp - 0x17]
mov dword [ebp - 0x170], ecx
nop
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x170]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x10003df0
push ecx
lea eax, [ebp - 0x17]
push eax
push edi
lea ecx, [ebp - 0x1a0]
call fcn.10002ca0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x16
push eax
mov edx, str.fder:
lea ecx, [ebp - 0x168]
call fcn.10002730
add esp, 4
mov byte [ebp - 4], 0x17
mov edx, eax
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ecx + 4]
add ecx, 0x7c
push ecx
lea ecx, [ebp - 0x188]
call fcn.1000b9c0
add esp, 4
push eax
mov byte [ebp - 4], 0x18
call fcn.100094b0
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x10003eb4
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003eaa
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp ecx, 0xf
jbe 0x10003f09
mov edx, dword [ebp - 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003eff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
jmp 0x10003b55
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 3
jne 0x10004179
mov edx, 0x101da988
sub edi, 4
jb 0x10003f69
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003f6e
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10003f58
cmp edi, 0xfffffffc
je 0x10003fa2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003f9b
cmp edi, 0xfffffffd
je 0x10003fa2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003f9b
cmp edi, 0xfffffffe
je 0x10003fa2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003f9b
cmp edi, 0xffffffff
je 0x10003fa2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x10003fa2
sbb eax, eax
or eax, 1
jmp 0x10003fa4
xor eax, eax
test eax, eax
jne 0x1000416d
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
add eax, 0x7c
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.10012810
cmp dword [eax + 0x14], 7
jbe 0x10003fcd
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
mov ecx, dword [ebp - 0x18c]
mov edi, eax
cmp ecx, 7
jbe 0x10004016
mov edx, dword [ebp - 0x1a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000400c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
test edi, edi
jne 0x10004740
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea edi, [ebp - 0x17]
mov dword [ebp - 0x170], ecx
nop
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x170]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x10004030
push ecx
lea eax, [ebp - 0x17]
push eax
push edi
lea ecx, [ebp - 0x1a0]
call fcn.10002ca0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x19
push eax
mov edx, str.d_fder
lea ecx, [ebp - 0x168]
call fcn.10002730
add esp, 4
mov byte [ebp - 4], 0x1a
mov edx, eax
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ecx + 4]
add ecx, 0x7c
push ecx
lea ecx, [ebp - 0x188]
call fcn.1000b9c0
add esp, 4
push eax
mov byte [ebp - 4], 0x1b
call fcn.100094b0
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x100040f4
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100040ea
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp ecx, 0xf
jbe 0x10003f09
mov edx, dword [ebp - 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004143
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
jmp 0x10003b55
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 3
jne 0x1000444b
mov edx, 0x101da994
sub edi, 4
jb 0x100041b1
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100041b6
add ecx, 4
add edx, 4
sub edi, 4
jae 0x100041a0
cmp edi, 0xfffffffc
je 0x100041ea
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100041e3
cmp edi, 0xfffffffd
je 0x100041ea
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100041e3
cmp edi, 0xfffffffe
je 0x100041ea
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100041e3
cmp edi, 0xffffffff
je 0x100041ea
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100041ea
sbb eax, eax
or eax, 1
jmp 0x100041ec
xor eax, eax
test eax, eax
jne 0x1000443f
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
add eax, 0x94
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.10012810
mov edi, eax
mov byte [ebp - 4], 0x1c
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x188]
add ecx, 0x34
push ecx
push eax
call fcn.10012810
cmp dword [edi + 0x14], 7
jbe 0x10004236
mov edi, dword [edi]
cmp dword [eax + 0x14], 7
jbe 0x1000423e
mov eax, dword [eax]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov ecx, dword [ebp - 0x174]
mov edi, eax
cmp ecx, 7
jbe 0x10004288
mov edx, dword [ebp - 0x188]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000427e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 7
mov word [ebp - 0x188], ax
cmp ecx, 7
jbe 0x100042e9
mov edx, dword [ebp - 0x1a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100042df
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
test edi, edi
jne 0x10004740
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea edi, [ebp - 0x17]
mov dword [ebp - 0x170], ecx
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x170]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x10004302
push ecx
lea eax, [ebp - 0x17]
push eax
push edi
lea ecx, [ebp - 0x1a0]
call fcn.10002ca0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x1d
push eax
mov edx, str.ren_dir
lea ecx, [ebp - 0x168]
call fcn.10002730
add esp, 4
mov byte [ebp - 4], 0x1e
mov edx, eax
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ecx + 4]
add ecx, 0x34
push ecx
lea ecx, [ebp - 0x188]
call fcn.1000b9c0
add esp, 4
push eax
mov byte [ebp - 4], 0x1f
call fcn.100094b0
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x100043c6
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100043bc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp ecx, 0xf
jbe 0x10003f09
mov edx, dword [ebp - 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004415
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
jmp 0x10003b55
mov edi, dword [ebp - 0x140]
mov eax, dword [ebp - 0x13c]
cmp eax, 0xf
lea ecx, [ebp - 0x150]
cmova ecx, dword [ebp - 0x150]
cmp edi, 3
jne 0x10004740
mov edx, 0x101da9a0
sub edi, 4
jb 0x10004481
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10004486
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10004470
cmp edi, 0xfffffffc
je 0x100044ba
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100044b3
cmp edi, 0xfffffffd
je 0x100044ba
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100044b3
cmp edi, 0xfffffffe
je 0x100044ba
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100044b3
cmp edi, 0xffffffff
je 0x100044ba
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100044ba
sbb eax, eax
or eax, 1
jmp 0x100044bc
xor eax, eax
test eax, eax
jne 0x10004740
mov eax, dword [ebp - 0x134]
mov eax, dword [eax + 4]
add eax, 0x94
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.10012810
mov edi, eax
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x134]
mov ecx, dword [eax + 4]
lea eax, [ebp - 0x188]
add ecx, 0x34
push ecx
push eax
call fcn.10012810
cmp dword [edi + 0x14], 7
jbe 0x10004506
mov edi, dword [edi]
cmp dword [eax + 0x14], 7
jbe 0x1000450e
mov eax, dword [eax]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileW]
mov ecx, dword [ebp - 0x174]
mov edi, eax
cmp ecx, 7
jbe 0x10004558
mov edx, dword [ebp - 0x188]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x1000454e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
xor eax, eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 7
mov word [ebp - 0x188], ax
cmp ecx, 7
jbe 0x100045b9
mov edx, dword [ebp - 0x1a0]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100045af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
test edi, edi
jne 0x10004740
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea edi, [ebp - 0x17]
mov dword [ebp - 0x170], ecx
mov eax, 0xcccccccd
dec edi
mul ecx
shr edx, 3
mov al, dl
mov cl, dl
shl al, 2
add cl, al
mov eax, dword [ebp - 0x170]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [edi], al
mov eax, edx
mov dword [ebp - 0x170], eax
test eax, eax
jne 0x100045d2
push ecx
lea eax, [ebp - 0x17]
push eax
push edi
lea ecx, [ebp - 0x1a0]
call fcn.10002ca0
lea eax, [ebp - 0x1a0]
mov byte [ebp - 4], 0x21
push eax
mov edx, str.ren_dir
lea ecx, [ebp - 0x168]
call fcn.10002730
add esp, 4
mov byte [ebp - 4], 0x22
mov edx, eax
mov ecx, dword [ebp - 0x134]
mov ecx, dword [ecx + 4]
add ecx, 0x34
push ecx
lea ecx, [ebp - 0x188]
call fcn.1000b9c0
add esp, 4
push eax
mov byte [ebp - 4], 0x23
call fcn.100094b0
mov ecx, dword [ebp - 0x174]
cmp ecx, 0xf
jbe 0x10004696
mov edx, dword [ebp - 0x188]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000468c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov ecx, dword [ebp - 0x154]
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
cmp ecx, 0xf
jbe 0x100046eb
mov edx, dword [ebp - 0x168]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100046e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x158], 0
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x168], 0
cmp ecx, 0xf
jbe 0x10004740
mov edx, dword [ebp - 0x1a0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004736
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push ecx
push edx
call fcn.10165540
add esp, 8
mov edi, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x150]
cmp edi, 0xf
jbe 0x1000477a
inc edi
mov eax, ecx
cmp edi, 0x1000
jb 0x10004770
mov ecx, dword [eax - 4]
add edi, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000493f
push edi
push ecx
call fcn.10165540
add esp, 8
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
test esi, esi
je 0x10003834
push 1
push esi
jmp 0x1000382c
push 1
call fcn.10166bd0
push 5
call fcn.10166bd0
push 2
call fcn.10166bd0
call fcn.1016cb5f
call fcn.1016cb5f
call fcn.1016cb5f
call fcn.1016cb5f
call fcn.1016cb5f
int3