Function at 0x4047e8
Capabilities:
Set file attributes

Disassembly:
push ebp
push ebx
push edi
mov edx, 0x26
sub esp, 4
mov dword [esp], 0
dec edx
jne 0x4047f0
mov edx, dword [esp + 0xa8]
lea ecx, [esp]
call fcn.00403000
mov dword [esp + 0x58], 0xffffffff
cmp dword [0x420f54], 0
je 0x404d55
push 0x1f4
call fcn.0040e2a0
mov dword [esp + 0x5c], eax
mov eax, dword [0x421328]
push eax
push eax
push 1
push dword [esp + 0xc]
call fcn.0040d210
inc dword [0x421328]
mov edx, 0x41faf6
pop ecx
mov dword [0x421328], ecx
add ecx, dword [0x41fae0]
call fcn.00416d10
jne 0x404885
mov edx, dword [esp]
push dword [0x421328]
call fcn.00416cb0
mov edx, 0x41faf6
call fcn.00416cb0
lea eax, [esp + 4]
push eax
call fcn.00416c30
push dword [esp]
call sub.IMAGEHLP.DLL_MakeSureDirectoryPathExists
push 0
push 0
push 0
push 0
push 0x1f4
push dword [esp + 0x70]
lea eax, [esp + 0x1c]
push eax
push dword [0x420f54]
call fcn.00403d10
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x58]
and ebx, ebx
jne 0x404d4c
mov eax, dword [0x421328]
push eax
push eax
push dword [esp + 0x64]
call fcn.0040e3f0
mov ebx, eax
add ebx, ebx
inc ebx
push ebx
call fcn.0040d3b0
lea eax, [esp + 0x64]
push eax
call fcn.00416c30
mov eax, dword [esp + 0x60]
push eax
push dword [esp + 0x60]
call sub.USER32.DLL_OemToCharA
mov eax, dword [0x421328]
push eax
push eax
push 2
push 0x41faf6
push 0x41faf2
push dword [esp + 0x74]
call fcn.0040d6b0
pop dword [0x421328]
lea ebp, [esp + 4]
mov eax, dword [ebp + 0x1c]
cdq
push edx
push eax
and dword [esp], 0xffffffff
and dword [esp + 4], 0
pop dword [esp + 0x68]
pop dword [esp + 0x68]
cmp dword [0x420f58], 0
je 0x40497d
mov edx, dword [0x420f5c]
push dword [0x421328]
call fcn.00416cb0
lea eax, [esp + 0x88]
push eax
call fcn.00416c30
mov eax, dword [esp + 0x84]
push eax
push dword [0x420f54]
call fcn.004047d0
mov dword [esp + 0x58], eax
jmp 0x40498c
push dword [0x420f54]
call fcn.004047b0
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x58]
and ebx, ebx
jne 0x404d4c
mov eax, dword [0x421328]
push eax
push eax
push 1
push dword [esp + 0x6c]
call fcn.0040d210
inc dword [0x421328]
mov edx, 0x41faf6
pop ecx
mov dword [0x421328], ecx
add ecx, dword [0x41fae0]
call fcn.00416d10
je 0x4049df
mov ebx, dword [esp + 0xac]
cmp ebx, 1
jne 0x4049df
mov eax, 1
jmp 0x4049e1
xor eax, eax
and eax, eax
je 0x404a7f
push 1
push 0x41fb03
push dword [esp + 0x68]
call fcn.0040d6e0
mov dword [esp + 0x74], eax
cmp dword [esp + 0x74], 0
je 0x404a32
mov eax, dword [0x421328]
push eax
push eax
push dword [esp + 0x68]
call fcn.0040d280
mov ebx, eax
sub ebx, dword [esp + 0x7c]
dec ebx
push ebx
push dword [esp + 0x6c]
call fcn.0040d210
lea eax, [esp + 0x64]
push eax
call fcn.00416c30
push dword [0x421328]
mov edx, dword [esp + 4]
push dword [0x421328]
call fcn.00416cb0
mov eax, dword [0x421328]
push eax
push eax
push dword [esp + 0x70]
call fcn.00411fde
pop eax
inc dword [0x421328]
mov edx, dword [0x41fae0]
add dword [esp], edx
call sub.IMAGEHLP.DLL_MakeSureDirectoryPathExists
pop dword [0x421328]
mov dword [esp + 0x58], 0
jmp 0x404d4c
push dword [esp + 0x68]
push dword [esp + 0x68]
pop ebx
pop edi
cmp edi, 0
jl 0x404a99
jg 0x404a95
cmp ebx, 0
jb 0x404a99
xor eax, eax
jmp 0x404a9e
mov eax, 1
or eax, eax
jne 0x404d4c
mov ebx, dword [esp + 0xac]
and ebx, ebx
jne 0x404ad0
mov eax, dword [0x421328]
push eax
push eax
push dword [esp + 0x68]
call fcn.00411b68
lea eax, [esp + 0x64]
push eax
call fcn.00416c30
jmp 0x404b59
push 1
push 0x41fb03
push dword [esp + 0x68]
call fcn.0040d6e0
mov dword [esp + 0x74], eax
cmp dword [esp + 0x74], 0
je 0x404b19
mov eax, dword [0x421328]
push eax
push eax
push dword [esp + 0x68]
call fcn.0040d280
mov ebx, eax
sub ebx, dword [esp + 0x7c]
dec ebx
push ebx
push dword [esp + 0x6c]
call fcn.0040d210
lea eax, [esp + 0x64]
push eax
call fcn.00416c30
push dword [0x421328]
mov edx, dword [esp + 4]
push dword [0x421328]
call fcn.00416cb0
mov eax, dword [0x421328]
push eax
push eax
push dword [esp + 0x70]
call fcn.00411fde
pop eax
inc dword [0x421328]
mov edx, dword [0x41fae0]
add dword [esp], edx
call sub.IMAGEHLP.DLL_MakeSureDirectoryPathExists
pop dword [0x421328]
push 0x19000
call fcn.0040e2a0
mov dword [esp + 0x6c], eax
cmp dword [esp + 0x6c], 0
je 0x404d44
push dword [0x421328]
mov edx, dword [esp + 4]
push dword [0x421328]
call fcn.00416cb0
mov edx, dword [esp + 0x68]
call fcn.00416cb0
inc dword [0x421328]
push 0xffffffff
mov edx, dword [0x41fae0]
add dword [esp + 4], edx
call fcn.004127c0
pop dword [0x421328]
mov dword [esp + 0x94], eax
cmp dword [esp + 0x94], 0
je 0x404d0a
push 0x19000
push dword [esp + 0x70]
push dword [0x420f54]
call fcn.00404020
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x58]
and ebx, ebx
jle 0x404c91
push dword [esp + 0x58]
push dword [esp + 0x70]
push dword [esp + 0x9c]
call fcn.00412940
push dword [esp + 0x80]
push dword [esp + 0x80]
mov eax, dword [esp + 0x60]
cdq
add dword [esp], eax
adc dword [esp + 4], edx
pop dword [esp + 0x80]
pop dword [esp + 0x80]
cmp dword [0x420f68], 0
je 0x404c5e
fild qword [esp + 0x7c]
fild qword [esp + 0x64]
fdivp st(1)
fmul dword [0x41fb24]
fstp dword [esp + 0x78]
push dword [esp + 0xb0]
push dword [esp + 0x7c]
push dword [esp + 0x68]
call dword [0x420f68]
mov dword [esp + 0x8c], eax
push 0x19000
push dword [esp + 0x70]
push dword [0x420f54]
call fcn.00404020
mov dword [esp + 0x58], eax
mov ebx, dword [esp + 0x8c]
cmp ebx, 1
jne 0x404c8c
mov dword [esp + 0x58], 0xfffffd66
jmp 0x404c91
jmp 0x404bdd
push dword [esp + 0x94]
call fcn.00412610
push 0
lea ebp, [esp + 8]
push dword [ebp + 0x3c]
push dword [ebp + 0x40]
push dword [ebp + 0x44]
mov ebx, dword [ebp + 0x48]
inc ebx
push ebx
push dword [ebp + 0x4c]
call fcn.004123ac
mov dword [esp + 0x70], eax
mov edx, dword [esp]
push dword [0x421328]
call fcn.00416cb0
mov edx, dword [esp + 0x64]
call fcn.00416cb0
lea eax, [esp + 0x88]
push eax
call fcn.00416c30
push dword [esp + 0x70]
push dword [esp + 0x88]
call fcn.00406e8c
lea ebp, [esp + 4]
push dword [ebp + 0x34]
mov eax, dword [esp + 0x88]
push eax
call sub.KERNEL32.dll_SetFileAttributesA
jmp 0x404d12
mov dword [esp + 0x58], 0xffffffff
push dword [esp + 0x6c]
call fcn.0040e300
cmp dword [0x420f68], 0
je 0x404d42
mov dword [esp + 0x78], 0x42c80000
push dword [esp + 0xb0]
push dword [esp + 0x7c]
push 0x41faed
call dword [0x420f68]
jmp 0x404d4c
mov dword [esp + 0x58], 0xffffffff
push dword [esp + 0x5c]
call fcn.0040e300
mov eax, dword [esp + 0x58]
jmp 0x404d5d
push dword [esp]
call fcn.00416d40
lea edx, [esp + 4]
push 0x41fb30
push edx
call fcn.00403010
push dword [esp + 0x60]
call fcn.00416d40
push dword [esp + 0x84]
call fcn.00416d40
push dword [esp + 0x90]
call fcn.00416d40
add esp, 0x98
pop edi
pop ebx
pop ebp
ret 0xc