Function at 0x42aff0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4b392e
mov eax, dword fs:[0]
push eax
mov eax, 0x2210
call fcn.00494170
mov eax, dword [0x4d84d0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2214], 0
push 0x4b6fd2
lea ecx, [ebp - 0x28]
call fcn.00402c00
mov dword [ebp - 4], 0
push 0x4b8750
mov eax, dword [ebp + 0xc]
push eax
call fcn.004967bd
add esp, 8
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jne 0x42b21d
mov eax, 2
test eax, eax
je 0x42b210
push 0xb0
lea ecx, [ebp - 0xdc]
call fcn.00424830
push 1
push 3
lea ecx, [ebp - 0xdc]
call fcn.00412600
mov byte [ebp - 4], 1
lea eax, [ebp - 0xe4]
push eax
call fcn.0042ee10
add esp, 4
lea eax, [ebp - 0xe4]
push eax
call fcn.0042fb80
add esp, 4
mov dword [ebp - 0xe8], eax
mov byte [ebp - 0x128], 0
push 0x3f
push 0
lea eax, [ebp - 0x127]
push eax
call fcn.00490e10
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xe8]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ecx + 8]
push edx
push str._02d:_02d:_02d__u._u_
push 0x40
lea eax, [ebp - 0x128]
push eax
call fcn.00493cad
add esp, 0x20
lea eax, [ebp - 0xdc]
test eax, eax
je 0x42b128
lea ecx, [ebp - 0xdc]
add ecx, 0x10
mov dword [ebp - 0x2218], ecx
jmp 0x42b132
mov dword [ebp - 0x2218], 0
call fcn.0049667f
mov edx, dword [eax]
push edx
push str.__error__code
mov eax, dword [ebp + 0xc]
push eax
push 0x4b8764
push 0x4b7674
push 0x4b876c
push 0x4b77dc
lea ecx, [ebp - 0x128]
push ecx
mov edx, dword [ebp - 0x2218]
push edx
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
push eax
call fcn.0040d3d0
add esp, 8
mov ecx, eax
call fcn.0042adc0
push 0x411690
lea eax, [ebp - 0x2210]
push eax
lea ecx, [ebp - 0xdc]
call fcn.0041d910
mov dword [ebp - 0x2218], eax
mov ecx, dword [ebp - 0x2218]
mov dword [ebp - 0x221c], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x221c]
push edx
push 0x4db630
call fcn.0040d090
add esp, 8
mov ecx, eax
call fcn.00413d80
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2210]
call fcn.004048f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xdc]
call fcn.00414570
xor eax, eax
jne 0x42b05e
jmp 0x42b455
lea eax, [ebp - 0x180]
push eax
call fcn.0042b600
add esp, 4
mov eax, dword [ebp - 0x2c]
push eax
call fcn.004966d3
add esp, 4
test eax, eax
jne 0x42b298
mov byte [ebp - 0x2180], 0
push 0x1fff
push 0
lea eax, [ebp - 0x217f]
push eax
call fcn.00490e10
add esp, 0xc
mov eax, dword [ebp - 0x2c]
push eax
push 0x2000
push 1
lea ecx, [ebp - 0x2180]
push ecx
call fcn.00496997
add esp, 0x10
mov dword [ebp - 0x2184], eax
mov eax, dword [ebp - 0x2184]
push eax
lea ecx, [ebp - 0x2180]
push ecx
lea edx, [ebp - 0x180]
push edx
call fcn.0042c5d0
add esp, 0xc
jmp 0x42b22c
mov eax, dword [ebp - 0x2c]
push eax
call fcn.00493256
add esp, 4
mov byte [ebp - 0x2194], 0
xor eax, eax
mov dword [ebp - 0x2193], eax
mov dword [ebp - 0x218f], eax
mov dword [ebp - 0x218b], eax
mov word [ebp - 0x2187], ax
mov byte [ebp - 0x2185], al
lea eax, [ebp - 0x180]
push eax
lea ecx, [ebp - 0x2194]
push ecx
call fcn.0042b4a0
add esp, 8
mov byte [ebp - 0x21b8], 0
xor eax, eax
mov dword [ebp - 0x21b7], eax
mov dword [ebp - 0x21b3], eax
mov dword [ebp - 0x21af], eax
mov dword [ebp - 0x21ab], eax
mov dword [ebp - 0x21a7], eax
mov dword [ebp - 0x21a3], eax
mov dword [ebp - 0x219f], eax
mov dword [ebp - 0x219b], eax
mov eax, 1
imul ecx, eax, 0xf
movzx edx, byte [ebp + ecx - 0x2194]
push edx
mov eax, 1
imul ecx, eax, 0xe
movzx edx, byte [ebp + ecx - 0x2194]
push edx
mov eax, 1
imul ecx, eax, 0xd
movzx edx, byte [ebp + ecx - 0x2194]
push edx
mov eax, 1
imul ecx, eax, 0xc
movzx edx, byte [ebp + ecx - 0x2194]
push edx
mov eax, 1
imul ecx, eax, 0xb
movzx edx, byte [ebp + ecx - 0x2194]
push edx
mov eax, 1
imul ecx, eax, 0xa
movzx edx, byte [ebp + ecx - 0x2194]
push edx
mov eax, 1
imul ecx, eax, 9
movzx edx, byte [ebp + ecx - 0x2194]
push edx
mov eax, 1
shl eax, 3
movzx ecx, byte [ebp + eax - 0x2194]
push ecx
mov edx, 1
imul eax, edx, 7
movzx ecx, byte [ebp + eax - 0x2194]
push ecx
mov edx, 1
imul eax, edx, 6
movzx ecx, byte [ebp + eax - 0x2194]
push ecx
mov edx, 1
imul eax, edx, 5
movzx ecx, byte [ebp + eax - 0x2194]
push ecx
mov edx, 1
shl edx, 2
movzx eax, byte [ebp + edx - 0x2194]
push eax
mov ecx, 1
imul edx, ecx, 3
movzx eax, byte [ebp + edx - 0x2194]
push eax
mov ecx, 1
shl ecx, 1
movzx edx, byte [ebp + ecx - 0x2194]
push edx
mov eax, 1
shl eax, 0
movzx ecx, byte [ebp + eax - 0x2194]
push ecx
mov edx, 1
imul eax, edx, 0
movzx ecx, byte [ebp + eax - 0x2194]
push ecx
push str._02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x_02x
lea edx, [ebp - 0x21b8]
push edx
call fcn.00491fe9
add esp, 0x48
lea eax, [ebp - 0x21b8]
push eax
lea ecx, [ebp - 0x28]
call fcn.004049a0
xor eax, eax
jne 0x42b040
lea eax, [ebp - 0x28]
push eax
mov ecx, dword [ebp + 8]
call fcn.004045c0
mov ecx, dword [ebp - 0x2214]
or ecx, 1
mov dword [ebp - 0x2214], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004048f0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004909b2
mov esp, ebp
pop ebp
ret