Function at 0x419530
Capabilities:
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push eax
mov eax, 0x10
add esp, 0xfffff004
push eax
dec eax
jne 0x419539
mov eax, dword [ebp - 4]
add esp, 0xffffffe0
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov edi, edx
mov ebx, eax
cmp byte [ebx + 0xd2], 0
jne 0x419564
lea esi, [ebx + 0xb2]
jmp 0x419566
xor esi, esi
cmp byte [ebx + 0x96], 3
jne 0x4195ae
cmp dword [ebx + 0x98], 0
je 0x41957f
mov eax, ebx
call fcn.00419bf0
push esi
mov cl, byte [ebp + 8]
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.0041f778
test al, al
sete byte [ebp - 5]
or dword [ebx + 0x20], 0x20
mov eax, dword [ebx + 0x20]
or eax, 0x20
push eax
mov eax, dword [0x4be538]
push eax
call sub.kernel32.dll_SetFileAttributesA
jmp 0x41981c
cmp dword [ebx + 0x3c], 0
jne 0x4195be
cmp dword [ebx + 0x48], 0
je 0x41978c
mov byte [ebp - 5], 0
mov eax, ebx
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x10]
test al, al
je 0x41981c
push 0
mov eax, dword [ebp - 4]
push eax
call sub.kernel32.dll__lcreat
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0xffffffff
jne 0x4195fa
mov edx, dword [ebp - 4]
mov ax, 3
call fcn.004acdac
jmp 0x41981c
cmp byte [ebp + 8], 0
je 0x419621
mov ax, 0x21
call fcn.004aa600
mov edx, eax
mov eax, dword [0x4bec98]
call fcn.004b81b0
mov eax, dword [0x4bec98]
xor edx, edx
call fcn.004ad8ec
fild qword [ebx + 0x10]
fsub dword [0x419828]
fdiv dword [0x41982c]
call fcn.004028f4
inc eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
test eax, eax
jle 0x419734
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], 1
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jge 0x419665
mov esi, 0x10000
jmp 0x419684
fild qword [ebx + 0x10]
fsub dword [0x419828]
add esp, 0xfffffff8
fistp qword [esp]
wait
push 0
push 0x10000
call fcn.004af060
mov esi, eax
inc esi
push esi
lea ecx, [ebp - 0x10024]
lea edx, [ebp - 0x18]
mov eax, ebx
mov edi, dword [eax + 0x1a0]
call dword [edi + 0x18]
cmp esi, eax
jle 0x4196ae
mov edx, dword [ebx + 0xc]
mov ax, 1
call fcn.004acdac
jmp 0x419734
push esi
lea eax, [ebp - 0x10024]
push eax
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll__lwrite
mov edx, dword [0x4be6b0]
mov dword [edx], eax
mov eax, dword [0x4be6b0]
cmp esi, dword [eax]
jle 0x4196de
mov edx, dword [ebp - 4]
mov ax, 3
call fcn.004acdac
jmp 0x419734
mov eax, dword [0x4be6b0]
cmp esi, dword [eax]
jne 0x4196f3
mov eax, dword [ebp - 0x1c]
cmp eax, dword [ebp - 0x20]
jne 0x4196f3
mov byte [ebp - 5], 1
call fcn.004ae0a4
mov eax, dword [0x4bed48]
cmp byte [eax], 0
jne 0x419734
cmp byte [ebp + 8], 0
je 0x419728
fild dword [ebp - 0x1c]
fild dword [ebp - 0x20]
fdivp st(1)
fmul dword [0x419830]
call fcn.004028e8
mov edx, dword [0x4be344]
mov byte [edx], al
call fcn.004b5c48
inc dword [ebp - 0x1c]
dec dword [ebp - 0x24]
jne 0x419656
mov eax, dword [ebp - 0xc]
push eax
call sub.kernel32.dll_CloseHandle_1
mov eax, ebx
mov edx, dword [eax + 0x1a0]
call dword [edx + 0x14]
cmp byte [ebp + 8], 0
je 0x419753
call fcn.004adbe0
cmp byte [ebp - 5], 0
je 0x41981c
cmp byte [ebp + 8], 2
jne 0x41981c
mov eax, dword [ebx + 0x54]
push eax
call sub.kernel32.dll_GlobalFree
xor eax, eax
mov dword [ebx + 0x54], eax
xor eax, eax
mov dword [ebx + 0x3c], eax
xor eax, eax
mov dword [ebx + 0x48], eax
xor eax, eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x44], eax
jmp 0x41981c
mov byte [ebp - 5], 0
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebx + 0xc]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
je 0x4197b4
push esi
mov eax, dword [ebx + 0xc]
mov cl, byte [ebp + 8]
mov edx, dword [ebp - 4]
call fcn.0041f778
test al, al
jne 0x41981c
cmp byte [ebx + 0xa1], 0
je 0x4197ed
call fcn.00416d84
test al, al
je 0x41981c
mov ecx, dword [0x4bedb0]
mov edx, dword [ebp - 4]
mov eax, edi
call fcn.004168f4
test eax, eax
je 0x4197e7
mov edx, dword [0x4bedb0]
call fcn.004acdac
jmp 0x41981c
mov byte [ebp - 5], 1
jmp 0x41981c
mov eax, dword [ebp - 4]
push eax
mov eax, dword [ebx + 0xc]
push eax
call sub.kernel32.dll_lstrcmpiA
test eax, eax
jne 0x419818
mov eax, dword [ebp - 4]
call fcn.004b1914
test al, al
jne 0x419818
mov edx, dword [ebp - 4]
mov ax, 3
call fcn.004acdac
jmp 0x41981c
mov byte [ebp - 5], 1
mov al, byte [ebp - 5]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4