Function at 0x4284a0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x18
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp dword [esp + 0x34], edi
mov dword [esp + 0x24], edi
je 0x42867d
mov esi, dword [esp + 0x30]
push edi
lea eax, [esp + 0x18]
push eax
push 4
lea ecx, [esp + 0x1c]
push ecx
push esi
mov dword [esp + 0x28], edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4286c2
cmp dword [esp + 0x14], 4
jne 0x42868c
cmp word [esp + 0x10], di
je 0x4284f3
add word [esp + 0x10], 1
xor ebp, ebp
cmp word [esp + 0x12], di
je 0x42862b
jmp 0x428506
mov esi, dword [esp + 0x30]
push edi
lea edx, [esp + 0x1c]
push edx
push 4
lea eax, [esp + 0x28]
push eax
push esi
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4286a8
cmp dword [esp + 0x18], 4
jne 0x4286a0
push esi
lea eax, [esp + 0x18]
call fcn.00416d30
add esp, 4
test eax, eax
je 0x4286a8
mov eax, dword [esp + 0x1c]
test al, 8
je 0x428598
push esi
lea eax, [esp + 0x24]
call fcn.00416d30
add esp, 4
test eax, eax
je 0x4286ce
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
push esi
push ebx
or ecx, 1
push ecx
push ebp
call fcn.00424f20
add esp, 0x10
cmp esi, edi
mov ebp, eax
je 0x428611
push esi
call fcn.00454dd4
mov dword [esp + 0x24], edi
jmp 0x42860e
test al, 4
je 0x4285d9
cmp word [esp + 0x10], di
mov ebx, dword [esp + 0x14]
jne 0x4285c6
mov edi, str._Side_by_Side_Components_
mov esi, ebx
mov ecx, 0x1a
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x4285c4
mov word [esp + 0x10], 1
xor edi, edi
jmp 0x428611
xor edi, edi
push edi
push ebx
or eax, 1
push eax
push ebp
call fcn.00424f20
add esp, 0x10
mov ebp, eax
jmp 0x428611
cmp ebp, edi
je 0x4285ff
mov ecx, dword [ebp]
cmp ecx, edi
mov esi, ebp
je 0x4285ee
mov esi, ecx
mov ecx, dword [esi]
cmp ecx, edi
jne 0x4285e6
mov ebx, dword [esp + 0x14]
or eax, 1
push ebx
call fcn.00424e50
mov dword [esi], eax
jmp 0x42860e
mov ebx, dword [esp + 0x14]
or eax, 1
push ebx
call fcn.00424e50
mov ebp, eax
add esp, 4
cmp ebx, edi
je 0x42861e
push ebx
call fcn.00454dd4
add esp, 4
add word [esp + 0x12], 0xffff
jne 0x428502
push 0xc
call fcn.0042f8c1
add esp, 4
cmp eax, edi
je 0x42864a
movzx ecx, word [esp + 0x10]
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [eax + 8], ebp
mov esi, eax
jmp 0x42865b
push edi
push edi
push 1
push 0xc0000017
xor esi, esi
call dword [sym.imp.KERNEL32.dll_RaiseException]
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x428667
mov dword [eax], esi
jmp 0x42866e
mov eax, dword [esp + 0x2c]
mov dword [eax + 0x70], esi
sub dword [esp + 0x34], 1
mov dword [esp + 0x24], esi
jne 0x4284b7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x18
ret 0xc
push 0xd
call dword [sym.imp.KERNEL32.dll_SetLastError]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret 0xc
push 0xd
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp ebp, edi
je 0x4286c2
lea esp, [esp]
mov esi, dword [ebp]
push ebp
call fcn.00454dd4
add esp, 4
cmp esi, edi
mov ebp, esi
jne 0x4286b0
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret 0xc
cmp ebp, edi
je 0x4286e4
mov esi, dword [ebp]
push ebp
call fcn.00454dd4
add esp, 4
cmp esi, edi
mov ebp, esi
jne 0x4286d2
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x18
ret 0xc