Function at 0x100035a0
Capabilities:
Create directory
Create thread
Delete directory
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10041f07
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 1
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 4], 0
call fcn.10024bba
add esp, 4
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x44]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 4
push eax
call fcn.10003140
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0xf
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x34]
seta byte [ebp - 0x11]
cmova ecx, edx
cmp edi, 2
jne 0x100036f6
mov esi, edi
mov edx, 0x1004e0f0
sub esi, 4
jb 0x10003641
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003646
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10003630
cmp esi, 0xfffffffc
je 0x1000367a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003673
cmp esi, 0xfffffffd
je 0x1000367a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003673
cmp esi, 0xfffffffe
je 0x1000367a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003673
cmp esi, 0xffffffff
je 0x1000367a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000367a
sbb eax, eax
or eax, 1
jmp 0x1000367c
xor eax, eax
test eax, eax
jne 0x100036f3
push 4
call fcn.10024bba
add esp, 4
mov dword [ebp + 8], eax
mov dword [eax], 0x1001ba30
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 3
push ecx
push 0
push eax
push 0x1000a970
push 0
push 0
call fcn.1002ba83
add esp, 0x18
mov dword [ebp - 0x7c], eax
test eax, eax
je 0x10004860
mov byte [ebp - 4], 4
cmp dword [ebp - 0x78], 0
je 0x1000484b
call sub.KERNEL32.dll_GetCurrentThreadId
mov ecx, dword [ebp - 0x78]
cmp ecx, eax
je 0x10004852
push 0
push ecx
push dword [ebp - 0x7c]
call fcn.10023484
add esp, 0xc
test eax, eax
jne 0x10004859
jmp 0x10004698
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
lea ecx, [ebp - 0x44]
test al, al
cmovne ecx, edx
cmp edi, 2
jne 0x10003772
mov esi, edi
mov edx, 0x1004e0f4
sub esi, 4
jb 0x10003723
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003728
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10003712
cmp esi, 0xfffffffc
je 0x1000375c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003755
cmp esi, 0xfffffffd
je 0x1000375c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003755
cmp esi, 0xfffffffe
je 0x1000375c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003755
cmp esi, 0xffffffff
je 0x1000375c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000375c
sbb eax, eax
or eax, 1
jmp 0x1000375e
xor eax, eax
test eax, eax
jne 0x1000376c
call fcn.10005b70
jmp 0x10004698
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 2
jne 0x100037fc
mov esi, edi
mov edx, 0x1004e0f8
sub esi, 4
jb 0x100037a1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x100037a6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10003790
cmp esi, 0xfffffffc
je 0x100037da
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x100037d3
cmp esi, 0xfffffffd
je 0x100037da
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x100037d3
cmp esi, 0xfffffffe
je 0x100037da
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x100037d3
cmp esi, 0xffffffff
je 0x100037da
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x100037da
sbb eax, eax
or eax, 1
jmp 0x100037dc
xor eax, eax
test eax, eax
jne 0x100037f6
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0xac
push eax
call fcn.10005f20
jmp 0x10004698
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 3
jne 0x10003e44
mov esi, edi
mov edx, 0x1004e0fc
sub esi, 4
jb 0x10003831
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003836
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10003820
cmp esi, 0xfffffffc
je 0x1000386a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003863
cmp esi, 0xfffffffd
je 0x1000386a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003863
cmp esi, 0xfffffffe
je 0x1000386a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003863
cmp esi, 0xffffffff
je 0x1000386a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000386a
sbb eax, eax
or eax, 1
jmp 0x1000386c
xor eax, eax
test eax, eax
jne 0x10003e3e
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x9c]
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
add eax, 0x1c
push eax
call fcn.10003140
mov byte [ebp - 4], 6
lea eax, [ebp - 0x9c]
cmp dword [ebp - 0x88], 0xf
push 0x1004e5e4
cmova eax, dword [ebp - 0x9c]
push eax
call fcn.1002c826
add esp, 8
test eax, eax
je 0x100039f0
push eax
call fcn.1002ccc5
add esp, 4
lea eax, [ebp - 0x9c]
cmp dword [ebp - 0x88], 0xf
cmova eax, dword [ebp - 0x9c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x100039d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x5f]
mov dword [ebp - 0x80], 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 - 0x80]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x80], eax
test eax, eax
jne 0x100038f5
push ecx
lea eax, [ebp - 0x5f]
push eax
push esi
lea ecx, [ebp - 0x5c]
call fcn.10001670
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 7
push eax
mov edx, str.Up_Err_:
lea ecx, [ebp - 0x2c]
call fcn.10002010
add esp, 4
push eax
mov byte [ebp - 4], 8
call fcn.10007a60
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10003987
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000397d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000486e
push ecx
push edx
call fcn.10024bea
add esp, 8
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp ecx, 0xf
jbe 0x100039d1
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100039c7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000486e
push ecx
push edx
call fcn.10024bea
add esp, 8
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x84], 0x1f4
mov dword [ebp - 0x80], 0
call fcn.10009c00
mov eax, dword [esi + 4]
add eax, 0xdc
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.1000fa80
test al, al
jne 0x10003af7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x5f]
mov dword [ebp + 8], ecx
nop dword [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 + 8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp + 8], eax
test eax, eax
jne 0x10003a20
push ecx
lea eax, [ebp - 0x5f]
push eax
push esi
lea ecx, [ebp - 0x5c]
call fcn.10001670
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 9
push eax
mov edx, str.Up_Err_:
lea ecx, [ebp - 0x2c]
call fcn.10002010
add esp, 4
push eax
mov byte [ebp - 4], 0xa
call fcn.10007a60
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10003aae
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003aa4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004873
push ecx
push edx
call fcn.10024bea
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp ecx, 0xf
jbe 0x10003c58
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003c4e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004873
jmp 0x10003c4e
push 0x104
lea eax, [ebp - 0x1cc]
push 0
push eax
call fcn.100268f0
add esp, 0xc
lea ecx, [ebp - 0x1cc]
cmp dword [ebp - 0x88], 0xf
lea eax, [ebp - 0x9c]
cmova eax, dword [ebp - 0x9c]
push 0
push ecx
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameA]
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x1cc]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003b54
sub ecx, edx
lea eax, [ebp - 0x1cc]
push ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.10003350
mov eax, dword [str.Success]
xorps xmm0, xmm0
mov ecx, dword [0x1004e110]
movlpd qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x64], 8
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], ecx
mov byte [ebp - 0x6c], 0
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
push eax
lea eax, [ebp - 0x74]
push eax
push dword [ebp + 8]
lea ecx, [ebp - 0x5c]
call fcn.1000a1b0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xd
push eax
call fcn.10007a60
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x10003bf0
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003be6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004878
push ecx
push edx
call fcn.10024bea
add esp, 8
mov ecx, dword [ebp - 0x60]
cmp ecx, 0xf
jbe 0x10003c24
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003c1a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004878
push ecx
push edx
call fcn.10024bea
add esp, 8
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10003c58
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10003c4e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004878
push ecx
push edx
call fcn.10024bea
add esp, 8
mov ecx, dword [ebp - 0x88]
cmp ecx, 0xf
jbe 0x10004698
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000468e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10004878
jmp 0x1000468e
call fcn.10024bea
add esp, 8
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0xa4]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 3
jne 0x10003eca
mov esi, edi
mov edx, 0x1004e124
sub esi, 4
jb 0x10003e71
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003e76
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10003e60
cmp esi, 0xfffffffc
je 0x10003eaa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003ea3
cmp esi, 0xfffffffd
je 0x10003eaa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003ea3
cmp esi, 0xfffffffe
je 0x10003eaa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003ea3
cmp esi, 0xffffffff
je 0x10003eaa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x10003eaa
sbb eax, eax
or eax, 1
jmp 0x10003eac
xor eax, eax
test eax, eax
jne 0x10003ec4
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x64
push eax
call fcn.10007890
jmp 0x10004698
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 3
jne 0x10003f51
mov esi, edi
mov edx, 0x1004e128
sub esi, 4
jb 0x10003ef4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003ef9
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10003ee3
cmp esi, 0xfffffffc
je 0x10003f2d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003f26
cmp esi, 0xfffffffd
je 0x10003f2d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003f26
cmp esi, 0xfffffffe
je 0x10003f2d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003f26
cmp esi, 0xffffffff
je 0x10003f2d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x10003f2d
sbb eax, eax
or eax, 1
jmp 0x10003f2f
xor eax, eax
test eax, eax
jne 0x10003f4b
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
lea eax, [ecx + 0x64]
push eax
lea eax, [ecx + 0x34]
push eax
call fcn.10006fa0
jmp 0x10004698
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 3
jne 0x100040cf
mov esi, edi
mov edx, 0x1004e12c
sub esi, 4
jb 0x10003f81
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10003f86
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10003f70
cmp esi, 0xfffffffc
je 0x10003fba
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10003fb3
cmp esi, 0xfffffffd
je 0x10003fba
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10003fb3
cmp esi, 0xfffffffe
je 0x10003fba
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10003fb3
cmp esi, 0xffffffff
je 0x10003fba
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x10003fba
sbb eax, eax
or eax, 1
jmp 0x10003fbc
xor eax, eax
test eax, eax
jne 0x100040c9
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x10003fd5
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x10004698
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x5f]
mov dword [ebp + 8], 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 + 8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp + 8], eax
test eax, eax
jne 0x10003ff2
push ecx
lea eax, [ebp - 0x5f]
push eax
push esi
lea ecx, [ebp - 0x5c]
call fcn.10001670
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x13
push eax
mov edx, str.DEL:
lea ecx, [ebp - 0x2c]
call fcn.10002010
add esp, 4
push eax
mov byte [ebp - 4], 0x14
call fcn.10007a60
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10004080
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004076
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000487d
push ecx
push edx
call fcn.10024bea
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp ecx, 0xf
jbe 0x10004698
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000468e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000487d
jmp 0x1000468e
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 2
jne 0x10004207
mov esi, edi
mov edx, 0x1004e138
sub esi, 4
jb 0x10004101
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10004106
add ecx, 4
add edx, 4
sub esi, 4
jae 0x100040f0
cmp esi, 0xfffffffc
je 0x1000413a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10004133
cmp esi, 0xfffffffd
je 0x1000413a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10004133
cmp esi, 0xfffffffe
je 0x1000413a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10004133
cmp esi, 0xffffffff
je 0x1000413a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000413a
sbb eax, eax
or eax, 1
jmp 0x1000413c
xor eax, eax
test eax, eax
jne 0x10004201
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x34
push eax
call fcn.1000e4b0
test al, al
jne 0x10004698
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x5f]
mov dword [ebp + 8], ecx
nop dword [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 + 8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp + 8], eax
test eax, eax
jne 0x10004170
push ecx
lea eax, [ebp - 0x5f]
push eax
push esi
lea ecx, [ebp - 0x5c]
call fcn.10001670
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x15
push eax
mov edx, 0x1004e13c
lea ecx, [ebp - 0x2c]
call fcn.10002010
add esp, 4
mov byte [ebp - 4], 0x16
push eax
call fcn.10007a60
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10004080
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004076
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000487d
jmp 0x10004076
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 3
jne 0x10004307
mov esi, edi
mov edx, 0x1004e140
sub esi, 4
jb 0x10004235
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1000423a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10004224
cmp esi, 0xfffffffc
je 0x1000426e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10004267
cmp esi, 0xfffffffd
je 0x1000426e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10004267
cmp esi, 0xfffffffe
je 0x1000426e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10004267
cmp esi, 0xffffffff
je 0x1000426e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000426e
sbb eax, eax
or eax, 1
jmp 0x10004270
xor eax, eax
test eax, eax
jne 0x10004301
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x7c
cmp dword [eax + 0x14], 0xf
jbe 0x10004289
mov eax, dword [eax]
push 0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
jne 0x10004698
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x5f]
mov dword [ebp + 8], 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 + 8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp + 8], eax
test eax, eax
jne 0x100042a8
push ecx
lea eax, [ebp - 0x5f]
push eax
push esi
lea ecx, [ebp - 0x5c]
call fcn.10001670
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x17
push eax
mov edx, str.fder:
lea ecx, [ebp - 0x2c]
call fcn.10002010
add esp, 4
mov byte [ebp - 4], 0x18
jmp 0x100041c4
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 3
jne 0x10004405
mov esi, edi
mov edx, 0x1004e14c
sub esi, 4
jb 0x10004335
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x1000433a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10004324
cmp esi, 0xfffffffc
je 0x1000436e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10004367
cmp esi, 0xfffffffd
je 0x1000436e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10004367
cmp esi, 0xfffffffe
je 0x1000436e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10004367
cmp esi, 0xffffffff
je 0x1000436e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000436e
sbb eax, eax
or eax, 1
jmp 0x10004370
xor eax, eax
test eax, eax
jne 0x100043ff
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
add eax, 0x7c
cmp dword [eax + 0x14], 0xf
jbe 0x10004389
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
test eax, eax
jne 0x10004698
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x5f]
mov dword [ebp + 8], 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 + 8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp + 8], eax
test eax, eax
jne 0x100043a6
push ecx
lea eax, [ebp - 0x5f]
push eax
push esi
lea ecx, [ebp - 0x5c]
call fcn.10001670
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x19
push eax
mov edx, str.d_fder
lea ecx, [ebp - 0x2c]
call fcn.10002010
add esp, 4
mov byte [ebp - 4], 0x1a
jmp 0x100041c4
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 3
jne 0x10004515
mov esi, edi
mov edx, 0x1004e158
sub esi, 4
jb 0x10004433
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10004438
add ecx, 4
add edx, 4
sub esi, 4
jae 0x10004422
cmp esi, 0xfffffffc
je 0x1000446c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10004465
cmp esi, 0xfffffffd
je 0x1000446c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10004465
cmp esi, 0xfffffffe
je 0x1000446c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10004465
cmp esi, 0xffffffff
je 0x1000446c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000446c
sbb eax, eax
or eax, 1
jmp 0x1000446e
xor eax, eax
test eax, eax
jne 0x1000450f
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [eax + 0xa8], 0xf
lea ecx, [eax + 0x94]
jbe 0x1000448d
mov ecx, dword [ecx]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x10004498
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x10004698
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x5f]
mov dword [ebp + 8], 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 + 8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp + 8], eax
test eax, eax
jne 0x100044b6
push ecx
lea eax, [ebp - 0x5f]
push eax
push esi
lea ecx, [ebp - 0x5c]
call fcn.10001670
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x1b
push eax
mov edx, 0x1004e15c
lea ecx, [ebp - 0x2c]
call fcn.10002010
add esp, 4
mov byte [ebp - 4], 0x1c
jmp 0x100041c4
mov edx, dword [ebp - 0x44]
mov al, byte [ebp - 0x11]
test al, al
lea ecx, [ebp - 0x44]
cmovne ecx, edx
cmp edi, 3
jne 0x1000469b
mov edx, 0x1004e160
sub edi, 4
jb 0x10004541
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x10004546
add ecx, 4
add edx, 4
sub edi, 4
jae 0x10004530
cmp edi, 0xfffffffc
je 0x1000457a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x10004573
cmp edi, 0xfffffffd
je 0x1000457a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x10004573
cmp edi, 0xfffffffe
je 0x1000457a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x10004573
cmp edi, 0xffffffff
je 0x1000457a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x1000457a
sbb eax, eax
or eax, 1
jmp 0x1000457c
xor eax, eax
test eax, eax
jne 0x10004698
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [eax + 0xa8], 0xf
lea ecx, [eax + 0x94]
jbe 0x1000459b
mov ecx, dword [ecx]
add eax, 0x34
cmp dword [eax + 0x14], 0xf
jbe 0x100045a6
mov eax, dword [eax]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileA]
test eax, eax
jne 0x10004698
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
lea esi, [ebp - 0x5f]
mov dword [ebp + 8], 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 + 8]
add cl, cl
sub al, cl
mov ecx, edx
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp + 8], eax
test eax, eax
jne 0x100045c4
push ecx
lea eax, [ebp - 0x5f]
push eax
push esi
lea ecx, [ebp - 0x5c]
call fcn.10001670
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x1d
push eax
mov edx, str.ren_dir
lea ecx, [ebp - 0x2c]
call fcn.10002010
add esp, 4
push eax
mov byte [ebp - 4], 0x1e
call fcn.10007a60
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x10004652
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10004648
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000487d
push ecx
push edx
call fcn.10024bea
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp ecx, 0xf
jbe 0x10004698
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1000468e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000487d
push ecx
push edx
call fcn.10024bea
add esp, 8
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x30]
cmp eax, 0xf
jbe 0x100046ce
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x100046c4
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1000487d
push ecx
push edx
call fcn.10024bea
add esp, 8
push 1
push dword [ebp - 0xa0]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
jmp 0x10003e1d
push 1
call fcn.10022cc8
push 5
call fcn.10022cc8
push 2
call fcn.10022cc8
push 6
mov dword [ebp - 0x78], 0
call fcn.10022cc8
call fcn.1002b8d6
call fcn.1002b8d6
call fcn.1002b8d6
call fcn.1002b8d6
int3