Function at 0x4079f0
Capabilities:
Create directory
Get common file path
Set file attributes

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 0x42200f
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x258
mov eax, dword [0x42c00c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, ecx
mov dword [ebp - 0x148], eax
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x13c], eax
lea ecx, [ebp - 0x138]
push 0
push 0x428f58
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], 0
call fcn.00402bb0
push 0x104
lea eax, [ebp - 0x120]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.0040da90
add esp, 0xc
lea eax, [ebp - 0x120]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
lea ecx, [ebp - 0x120]
lea edx, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x407ab0
sub ecx, edx
lea eax, [ebp - 0x120]
push ecx
push eax
lea ecx, [ebp - 0x138]
call fcn.00402bb0
mov edx, 5
lea ecx, [ebp - 0x268]
call fcn.00403660
mov dword [ebp - 0x13c], eax
mov edx, 4
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x250]
call fcn.00403660
mov dword [ebp - 0x144], eax
mov edx, 5
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x238]
call fcn.00403660
mov edi, eax
mov edx, 4
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x220]
call fcn.00403660
push 1
push 0x429418
push ecx
mov ecx, eax
mov byte [ebp - 4], 4
call fcn.0040af90
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x160], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x150], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x14c]
mov eax, edx
mov ecx, dword [ebp - 0x150]
sub eax, ecx
push 1
push 0x429414
cmp eax, 1
jb 0x407bc5
cmp edx, 0x10
lea esi, [ebp - 0x160]
lea eax, [ecx + 1]
cmovae esi, dword [ebp - 0x160]
add esi, ecx
mov dword [ebp - 0x150], eax
push esi
call fcn.0040f0f0
add esp, 0xc
mov byte [esi + 1], 0
lea eax, [ebp - 0x160]
jmp 0x407bdf
mov byte [ebp - 0x140], 0
lea ecx, [ebp - 0x160]
push dword [ebp - 0x140]
push 1
call fcn.00402df0
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x1a8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x198], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
push edi
lea edx, [ebp - 0x1a8]
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x208]
call fcn.0040a400
add esp, 4
mov edi, eax
mov byte [ebp - 4], 7
mov edx, dword [edi + 0x14]
mov eax, edx
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 1
jb 0x407c71
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0x10
jb 0x407c58
mov eax, dword [edi]
push 1
lea esi, [eax + ecx]
push 0x429414
push esi
call fcn.0040f0f0
add esp, 0xc
mov byte [esi + 1], 0
jmp 0x407c90
push 1
push 0x429414
mov byte [ebp - 0x140], 0
mov ecx, edi
push dword [ebp - 0x140]
push 1
call fcn.00402df0
mov edi, eax
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x190], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x180], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov byte [ebp - 4], 8
lea edx, [ebp - 0x190]
push dword [ebp - 0x144]
lea ecx, [ebp - 0x1f0]
call fcn.0040a400
add esp, 4
mov edi, eax
mov byte [ebp - 4], 9
mov edx, dword [edi + 0x14]
mov eax, edx
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 1
jb 0x407d27
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0x10
jb 0x407d0e
mov eax, dword [edi]
push 1
lea esi, [eax + ecx]
push 0x429414
push esi
call fcn.0040f0f0
add esp, 0xc
mov byte [esi + 1], 0
jmp 0x407d46
push 1
push 0x429414
mov byte [ebp - 0x144], 0
mov ecx, edi
push dword [ebp - 0x144]
push 1
call fcn.00402df0
mov edi, eax
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0x178], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0x168], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov byte [ebp - 4], 0xa
lea edx, [ebp - 0x178]
push dword [ebp - 0x13c]
lea ecx, [ebp - 0x1d8]
call fcn.0040a400
add esp, 4
mov edi, eax
mov byte [ebp - 4], 0xb
mov edx, dword [edi + 0x14]
mov eax, edx
mov ecx, dword [edi + 0x10]
sub eax, ecx
cmp eax, 1
jb 0x407ddd
lea eax, [ecx + 1]
mov dword [edi + 0x10], eax
mov eax, edi
cmp edx, 0x10
jb 0x407dc4
mov eax, dword [edi]
push 1
lea esi, [eax + ecx]
push 0x429410
push esi
call fcn.0040f0f0
add esp, 0xc
mov byte [esi + 1], 0
jmp 0x407dfc
push 1
push 0x429410
mov byte [ebp - 0x13c], 0
mov ecx, edi
push dword [ebp - 0x13c]
push 1
call fcn.00402df0
mov edi, eax
movups xmm1, xmmword [edi]
movq xmm0, qword [edi + 0x10]
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
movups xmmword [ebp - 0x1c0], xmm1
mov byte [edi], 0
movq qword [ebp - 0x1b0], xmm0
mov byte [ebp - 4], 0xc
lea edx, [ebp - 0x1c0]
cmp dword [ebp - 0x1ac], 0x10
mov eax, dword [ebp - 0x124]
mov esi, dword [ebp - 0x128]
mov ecx, dword [ebp - 0x1b0]
movd edi, xmm1
push ecx
cmovae edx, edi
sub eax, esi
push edx
cmp ecx, eax
ja 0x407e8a
cmp dword [ebp - 0x124], 0x10
lea eax, [esi + ecx]
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x138]
cmovae eax, dword [ebp - 0x138]
add esi, eax
push esi
call fcn.0040f0f0
mov eax, dword [ebp - 0x1b0]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x407ea9
mov byte [ebp - 0x13c], 0
push dword [ebp - 0x13c]
push ecx
lea ecx, [ebp - 0x138]
call fcn.00402df0
mov edi, dword [ebp - 0x1c0]
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x1ac]
cmp eax, 0x10
jb 0x407ee3
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x407ed9
mov edi, dword [edi - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083cd
push ecx
push edi
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 0xa
mov edx, dword [ebp - 0x1c4]
cmp edx, 0x10
jb 0x407f21
mov ecx, dword [ebp - 0x1d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407f17
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083d2
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 9
mov edx, dword [ebp - 0x164]
mov dword [ebp - 0x1c8], 0
mov dword [ebp - 0x1c4], 0xf
mov byte [ebp - 0x1d8], 0
cmp edx, 0x10
jb 0x407f7a
mov ecx, dword [ebp - 0x178]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407f70
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083d7
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x1dc]
mov dword [ebp - 0x168], 0
mov dword [ebp - 0x164], 0xf
mov byte [ebp - 0x178], 0
cmp edx, 0x10
jb 0x407fd3
mov ecx, dword [ebp - 0x1f0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x407fc9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083dc
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x17c]
mov dword [ebp - 0x1e0], 0
mov dword [ebp - 0x1dc], 0xf
mov byte [ebp - 0x1f0], 0
cmp edx, 0x10
jb 0x40802c
mov ecx, dword [ebp - 0x190]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408022
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083e1
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x180], 0
mov dword [ebp - 0x17c], 0xf
mov byte [ebp - 0x190], 0
cmp edx, 0x10
jb 0x408085
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40807b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083e6
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp edx, 0x10
jb 0x4080de
mov ecx, dword [ebp - 0x1a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4080d4
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083eb
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x14c]
mov dword [ebp - 0x198], 0
mov dword [ebp - 0x194], 0xf
mov byte [ebp - 0x1a8], 0
cmp edx, 0x10
jb 0x408137
mov ecx, dword [ebp - 0x160]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40812d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083f0
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x150], 0
mov dword [ebp - 0x14c], 0xf
mov byte [ebp - 0x160], 0
cmp edx, 0x10
jb 0x408190
mov ecx, dword [ebp - 0x220]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408186
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083f5
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x224]
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x20c], 0xf
mov byte [ebp - 0x220], 0
cmp edx, 0x10
jb 0x4081e9
mov ecx, dword [ebp - 0x238]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4081df
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083fa
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x23c]
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x224], 0xf
mov byte [ebp - 0x238], 0
cmp edx, 0x10
jb 0x408242
mov ecx, dword [ebp - 0x250]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408238
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4083ff
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov byte [ebp - 4], 0
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x240], 0
mov dword [ebp - 0x23c], 0xf
mov byte [ebp - 0x250], 0
cmp edx, 0x10
jb 0x40829b
mov ecx, dword [ebp - 0x268]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x408291
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408404
push edx
push ecx
call fcn.0040c1fd
add esp, 8
cmp dword [ebp - 0x124], 0x10
lea eax, [ebp - 0x138]
push 0
cmovae eax, dword [ebp - 0x138]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
test eax, eax
je 0x40836a
cmp dword [ebp - 0x124], 0x10
lea eax, [ebp - 0x138]
push 6
cmovae eax, dword [ebp - 0x138]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, dword [ebp - 0x124]
mov eax, edx
mov ecx, dword [ebp - 0x128]
sub eax, ecx
push 1
push 0x42901c
cmp eax, 1
jb 0x408323
cmp edx, 0x10
lea esi, [ebp - 0x138]
lea eax, [ecx + 1]
cmovae esi, dword [ebp - 0x138]
add esi, ecx
mov dword [ebp - 0x128], eax
push esi
call fcn.0040f0f0
add esp, 0xc
mov byte [esi + 1], 0
jmp 0x40833d
mov byte [ebp - 0x13c], 0
lea ecx, [ebp - 0x138]
push dword [ebp - 0x13c]
push 1
call fcn.00402df0
mov eax, dword [ebp - 0x148]
movups xmm0, xmmword [ebp - 0x138]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x128]
movq qword [eax + 0x10], xmm0
jmp 0x4083af
mov esi, dword [ebp - 0x148]
mov ecx, esi
call fcn.004079f0
mov edx, dword [ebp - 0x124]
cmp edx, 0x10
jb 0x4083ad
mov ecx, dword [ebp - 0x138]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4083a3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x408409
push edx
push ecx
call fcn.0040c1fd
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0040c096
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
call fcn.0040fee0
int3