Function at 0x408200
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4204c6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x260
mov eax, dword [0x427550]
push ebx
push esi
push edi
mov edi, ecx
mov edx, dword [edi + 0x1a0]
lea ebx, [edi + 0x188]
xor eax, ebp
cmp edx, 0x10
mov dword [esp + 0x264], eax
lea ecx, [ebx + 4]
jb 0x40824c
mov esi, dword [ecx]
jmp 0x40824e
mov esi, ecx
mov eax, dword [ebx + 0x14]
add eax, esi
cmp edx, 0x10
jb 0x40825a
mov ecx, dword [ecx]
push eax
push ecx
lea eax, [esp + 0x18]
push eax
mov ecx, ebx
call fcn.00406830
push 0xffffffffffffffff
push 0
lea ecx, [edi + 0x1c]
lea esi, [edi + 0xa8]
push ecx
mov ecx, esi
call fcn.004032c0
push 0x15
push str.BackupRAVLabel.dat
mov ecx, esi
call fcn.00405070
cmp dword [esi + 0x18], 0x10
jb 0x408296
mov eax, dword [esi + 4]
jmp 0x408299
lea eax, [esi + 4]
push eax
mov ecx, edi
call fcn.004060d0
cmp dword [esi + 0x18], 0x10
jb 0x4082ac
mov esi, dword [esi + 4]
jmp 0x4082af
add esi, 4
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocStringLen
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
mov dword [esp + 0x10], esi
jne 0x408306
push 0x16
push str.Open_Label.dat_failed
mov ecx, ebx
call fcn.00405070
xor eax, eax
mov ecx, dword [esp + 0x26c]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x264]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00413041
mov esp, ebp
pop ebp
ret
xor eax, eax
mov byte [esp + 0x50], 0
mov ecx, 0x40
lea edi, [esp + 0x51]
rep stosd dword es:[edi], eax
push 0
stosw word es:[edi], ax
lea edx, [esp + 0x18]
push edx
stosb byte es:[edi], al
push 0x103
lea eax, [esp + 0x5c]
push eax
push esi
mov dword [esp + 0x28], 0
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x408356
push 0xf
push str.Read_File_Faild
mov ecx, ebx
call fcn.00405070
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x4082e1
mov eax, dword [esp + 0x14]
test eax, eax
jbe 0x4082e1
mov byte [esp + eax + 0x51], 0
mov byte [esp + 0x158], 0
xor eax, eax
mov ecx, 0x40
lea edi, [esp + 0x159]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x50]
push ecx
stosw word es:[edi], ax
lea edx, [esp + 0x15c]
push 0x104
push edx
stosb byte es:[edi], al
call fcn.0040fcc0
add esp, 0xc
lea eax, [esp + 0x158]
push eax
lea ecx, [esp + 0x38]
call fcn.00403c10
push 8
push 0
push str.ActionID
lea ecx, [esp + 0x40]
mov dword [esp + 0x280], 0
call fcn.00405d00
push 6
push 0
push str.SubKey
lea ecx, [esp + 0x40]
mov esi, eax
call fcn.00405d00
sub eax, esi
push eax
push esi
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x40]
call fcn.00407ba0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x40]
mov byte [esp + 0x280], 1
call fcn.004032c0
mov eax, dword [esp + 0x30]
mov edi, 0x10
cmp eax, edi
mov byte [esp + 0x274], 0
jb 0x408424
mov edx, dword [esp + 0x1c]
push edx
call fcn.00412c1d
add esp, 4
cmp dword [esp + 0x4c], edi
mov edx, dword [esp + 0x38]
jae 0x408432
lea edx, [esp + 0x38]
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x408437
sub eax, esi
push eax
push edx
mov ecx, ebx
call fcn.00405070
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [esp + 0x4c], edi
jb 0x408467
mov ecx, dword [esp + 0x38]
push ecx
call fcn.00412c1d
add esp, 4
mov eax, 1
jmp 0x4082e3