Function at 0x475d60
Capabilities:
Delete file
Extract resource via kernel32 functions
Move file
Set file attributes
Timestomp file
Write file on windows

Disassembly:
push 0xffffffffffffffff
push 0x543a8b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x168
push ebx
push ebp
mov ebp, dword [esp + 0x180]
push esi
push edi
xor esi, esi
push ebp
lea ecx, [esp + 0x14]
mov word [0x5b0ac0], 0x378
mov word [0x5b0ac2], 0x278
mov word [0x5b0ac4], 0x3bc
mov word [0x5b0ac6], si
call fcn.00512952
lea eax, [esp + 0x3c]
lea ecx, [esp + 0x10]
push eax
push ecx
mov dword [esp + 0x188], esi
call fcn.004c62d0
add esp, 8
lea ecx, [esp + 0x10]
test eax, eax
sete bl
mov dword [esp + 0x180], 0xffffffff
call fcn.005128e4
test bl, bl
je 0x475e1e
lea edx, [esp + 0x10]
push edx
push str.4.6.8.1
call fcn.00422fb0
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x50]
add esp, 8
cmp eax, edx
jb 0x475e1e
ja 0x475e14
cmp ecx, dword [esp + 0x10]
jb 0x475e1e
mov eax, 1
jmp 0x475f95
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x70]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
lea edx, [esp + 0x70]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
xor eax, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, str..bak
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
lea eax, [esp + 0x70]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
push ebp
call dword [sym.imp.KERNEL32.dll_MoveFileA]
push 0x80
push ebp
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push ebp
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x475eb1
mov eax, 0xfffffc18
jmp 0x475f95
push 0x59f9fc
push str.ALOPAR
push 0
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov edi, eax
test edi, edi
je 0x475f82
push edi
push 0
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov ebx, eax
test ebx, ebx
jbe 0x475f82
push edi
push 0
call dword [sym.imp.KERNEL32.dll_LoadResource]
test eax, eax
je 0x475f82
push eax
call dword [sym.imp.KERNEL32.dll_LockResource]
test eax, eax
je 0x475f82
lea ecx, [esp + 0x10]
push 0
push ecx
push ebx
push eax
push esi
mov dword [esp + 0x24], 0
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x475f82
push 0xffffffffffffffff
push 0
push 0
push 8
push 1
push 8
push 0x7d3
lea ecx, [esp + 0x34]
call fcn.0050edbd
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x18]
push edx
call fcn.0050eee3
lea eax, [esp + 0x24]
lea ecx, [esp + 0x2c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
lea edx, [esp + 0x1c]
lea eax, [esp + 0x24]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
lea ecx, [esp + 0x1c]
push ecx
push 0
push 0
push esi
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
jmp 0x475f95
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebp
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, 0xfffffc13
mov ecx, dword [esp + 0x178]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x174
ret