Function at 0x402ce4
Capabilities:
Read file on windows
Set file attributes

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffb0
push ebx
push esi
push edi
mov dword [ebp - 4], eax
lea esi, [ebp - 0x4c]
lea edi, [ebp - 4]
mov eax, 0x4bb22c
call fcn.00479eb8
mov dword [esi + 0x1c], 1
mov edx, edi
mov eax, edi
call fcn.00488c1c
inc dword [esi + 0x1c]
mov word [esi + 0x10], 8
push 0xab
push 0
push 0x4e9f88
call fcn.004798f8
add esp, 0xc
push 0
push 0x20
push 4
push 0
push 1
push accept
cmp dword [edi], 0
je 0x402d45
mov edx, dword [edi]
jmp 0x402d4a
mov edx, 0x4b9dc1
push edx
call sub.KERNEL32.DLL_CreateFileA
mov ebx, eax
cmp ebx, 0xffffffff
je 0x402d75
push 0
lea eax, [ebp - 0x50]
push eax
push 0xab
push 0x4e9f88
push ebx
call sub.KERNEL32.DLL_ReadFile
push ebx
call sub.KERNEL32.DLL_CloseHandle
jmp 0x402d96
xor eax, eax
mov edx, 2
push eax
mov eax, edi
dec dword [esi + 0x1c]
call fcn.00488dd0
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x402fcf
xor ecx, ecx
lea edx, [ebp - 0x10]
mov dword [ebp - 0x10], ecx
mov eax, 0x4e9f78
inc dword [esi + 0x1c]
call fcn.0048901c
lea ecx, [ebp - 0x10]
mov edx, 0x4e9f89
push ecx
lea eax, [ebp - 8]
mov word [esi + 0x10], 0x14
call fcn.00488be4
inc dword [esi + 0x1c]
xor ecx, ecx
mov dword [ebp - 0xc], ecx
lea edx, [ebp - 0xc]
inc dword [esi + 0x1c]
call fcn.0048901c
lea eax, [ebp - 0xc]
pop edx
call fcn.00488eb4
push eax
dec dword [esi + 0x1c]
lea eax, [ebp - 0x10]
mov edx, 2
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp - 8]
mov edx, 2
call fcn.00488dd0
pop eax
test al, al
je 0x402f6e
xor ecx, ecx
lea edx, [ebp - 0x1c]
mov dword [ebp - 0x1c], ecx
mov eax, 0x4e9f7c
inc dword [esi + 0x1c]
call fcn.0048901c
lea ecx, [ebp - 0x1c]
mov edx, 0x4e9fed
push ecx
lea eax, [ebp - 0x14]
mov word [esi + 0x10], 0x20
call fcn.00488be4
inc dword [esi + 0x1c]
xor ecx, ecx
mov dword [ebp - 0x18], ecx
lea edx, [ebp - 0x18]
inc dword [esi + 0x1c]
call fcn.0048901c
lea eax, [ebp - 0x18]
pop edx
call fcn.00488eb4
push eax
dec dword [esi + 0x1c]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.00488dd0
pop eax
test al, al
je 0x402f29
xor ecx, ecx
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], ecx
mov eax, 0x4e9f80
inc dword [esi + 0x1c]
call fcn.0048901c
lea ecx, [ebp - 0x28]
mov edx, 0x4ea01f
push ecx
lea eax, [ebp - 0x20]
mov word [esi + 0x10], 0x2c
call fcn.00488be4
inc dword [esi + 0x1c]
xor ecx, ecx
mov dword [ebp - 0x24], ecx
lea edx, [ebp - 0x24]
inc dword [esi + 0x1c]
call fcn.0048901c
lea eax, [ebp - 0x24]
pop edx
call fcn.00488eb4
push eax
dec dword [esi + 0x1c]
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp - 0x24]
mov edx, 2
call fcn.00488dd0
dec dword [esi + 0x1c]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.00488dd0
pop eax
test al, al
je 0x402f22
mov ebx, 1
jmp 0x402fb3
xor ebx, ebx
jmp 0x402fb3
push 0x20
cmp dword [edi], 0
je 0x402f34
mov eax, dword [edi]
jmp 0x402f39
mov eax, 0x4b9dc2
push eax
call sub.KERNEL32.DLL_SetFileAttributesA
mov eax, dword [edi]
call fcn.00488b2c
mov eax, dword [edi]
call fcn.00402b68
mov eax, 1
mov edx, 2
push eax
mov eax, edi
dec dword [esi + 0x1c]
call fcn.00488dd0
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x402fcf
push 0x20
cmp dword [edi], 0
je 0x402f79
mov ecx, dword [edi]
jmp 0x402f7e
mov ecx, 0x4b9dc3
push ecx
call sub.KERNEL32.DLL_SetFileAttributesA
mov eax, dword [edi]
call fcn.00488b2c
mov eax, dword [edi]
call fcn.00402b68
mov eax, 1
mov edx, 2
push eax
mov eax, edi
dec dword [esi + 0x1c]
call fcn.00488dd0
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
jmp 0x402fcf
mov eax, ebx
mov edx, 2
push eax
mov eax, edi
dec dword [esi + 0x1c]
call fcn.00488dd0
pop eax
mov edx, dword [esi]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret