Function at 0x402c9c
Capabilities:
Read file on windows

Disassembly:
xor ebx, ebp
add eax, 2
add edi, ebx
test esi, ebx
jne 0x40111e
sub ebx, esi
inc esi
dec edi
or esi, 2
mov ecx, eax
inc ebx
mov ecx, 0x1afdb0
mov eax, ecx
mov ecx, 0x27247b
add eax, ecx
push eax
push 9
pop esi
push esi
mov ecx, 0xb70dc6
mov eax, ecx
mov ebx, 0x757c8a
sub eax, ebx
call dword [eax]
or eax, eax
jne 0x40111e
jmp 0x40110d
add ecx, 1
lea ecx, [ecx + 5]
or esi, 0x24
add eax, esi
mov edx, esi
call dword [sym.imp.kernel32.dll_ReadFile]
mov edi, 0x1c
push edi
mov ecx, 0xe
push ecx
push 9
pop eax
push eax
mov esi, 7
push esi
mov eax, 0x102f587
mov edi, eax
sub edi, 0xc16493
call dword [edi]
or eax, eax
jne 0x40111d
test dword [0xaf5434e1], edi
int 0x11
mov ah, 0x56
xlatb
mov ebx, 0x75c1ad5e
add ebx, 1
xor ebx, eax
lea ecx, [ebx + 0xd]
dec edi
dec ebx
call dword [sym.imp.kernel32.dll_ReadFile]
push 1
pop esi
push esi
push 0x636d61
pop edx
mov eax, 0x21dc1d
mov ebx, eax
sub edx, ebx
call dword [edx]
or eax, eax
jne 0x40115d
mov edi, 0x20c854
shl edi, 1
call dword [edi]
mov dword [0x4220b5], eax
mov ebx, 0xf1
mov edx, ebx
push edx
mov eax, 0x9d
push eax
mov edi, 0xa9
push edi
push 0x4b
pop ecx
push ecx
mov eax, 0x34ae7f
mov ebx, eax
mov eax, 0xce2dd
add ebx, eax
push dword [ebx]
pop dword [0x422135]
mov ebx, dword [0x422135]
call ebx
or eax, eax
je 0x40111d
leave
ret
sub eax, dword [0x422d37]
mov ebx, 0x3e
add esi, 1
sub edi, 2
add ebx, edi
xor eax, ebp
dec esi
call dword [sym.imp.kernel32.dll_ReadFile]
xor esi, esi
push esi
push 0x20c870
pop edx
shl edx, 1
call dword [edx]
or eax, eax
jne 0x40111d
invalid
sub eax, 2
sbb edi, esi
sub edi, 2
mov eax, 0x2b
sub eax, ebx
mov di, 0xc9a7
call dword [sym.imp.kernel32.dll_ReadFile]
lea esi, [eax + 0x422825]
add esi, 0x76f
js 0x401531
dec esi
rol esi, 1
sub esi, dword [0x422247]
shr esi, 1
rol esi, 5
shr esi, 8
add esi, edi
shl esi, 1
add esi, 0xe95
dec esi
sub dword [0x4221b6], esi
jmp 0x401503
add ebx, 1
mov eax, edi
mov eax, 0x68
sub ebx, esi
add eax, esi
inc eax
mov edx, 0x2c857e
mov edi, edx
mov dword [0x422193], 0x159ac2
add edi, dword [0x422193]
push edi
xor esi, esi
push esi
mov edx, 0x24b876
mov dword [0x422700], 0x1cd8fa
add edx, dword [0x422700]
push dword [edx]
pop eax
mov edx, eax
call edx
mov dword [0x422863], eax
or eax, eax
jne 0x4015b0
sbb edi, ebx
mov dword [0x42265a], 0
mov esi, dword [0x42265a]
push esi
mov edx, dword [sym.imp.kernel32.dll_GetModuleHandleA]
call edx
or eax, eax
je 0x40110f
ret
push ebp
pop eax
push eax
mov ebp, esp
sub esp, 0x14
push edi
push esi
push ebx
push edi
push 0x7d968
push 0
mov dword [ebp - 0x14], esi
sub ebx, edi
push esi
call fcn.00401bd8
mov dword [ebp - 0x14], eax
push 0x928
pop eax
rol eax, 1
shl eax, 2
mov dword [ebp - 8], eax
shr eax, 7
sub eax, dword [0x422460]
dec eax
sub eax, ebx
ror eax, 4
sub eax, ebx
inc eax
add dword [0x4222f4], eax
push 0
push 0
push 0
push 0
mov esi, dword [sym.imp.gdi32.dll_CreateDCW]
call esi
mov eax, 0
rol eax, 7
shr eax, 7
add eax, eax
dec eax
add eax, 0x142
add eax, eax
dec eax
shr eax, 1
sub eax, dword [0x42208e]
rol eax, 8
sub dword [0x422820], eax
push ebx
add edi, eax
inc edi
push esi
push 0
push 0x6f33f
push 0x28af
call fcn.00401bd8
mov dword [ebp - 4], eax
or eax, eax
je 0x402d39
inc eax
lea eax, [0x4222e7]
push eax
push 0x4953f
call fcn.00401900
mov dword [ebp - 0xc], eax
or eax, eax
jne 0x402d55
or esi, 0x57
inc eax
push 0
push 0xf003f
push 0
push 0
push 0x4225f2
push 0x80000002
mov ecx, 0x20c8b4
mov edi, ecx
shl edi, 1
call dword [edi]
mov edi, esi
rol edi, 1
add edi, 0x737
mov esi, edi
add esi, dword [0x4226f5]
inc esi
sub esi, ebx
shl esi, 2
mov ecx, esi
rol ecx, 8
add ecx, 0xadc
ja 0x402d9b
dec ecx
mov dword [ebp - 8], ecx
mov edx, 0x10d6d
mov esi, edx
add esi, 0x4116b3
push esi
mov edx, 0x4153a7
mov esi, edx
add esi, 0xcec7
push esi
push 0x57451576
pop edi
push edi
mov edx, 0x4fe13e
mov dword [ebp - 4], 0xe4fd2
sub edx, dword [ebp - 4]
call dword [edx]
or eax, eax
je 0x40110d
mov dword [ebp - 4], 1
mov ebx, dword [ebp - 4]
push ebx
mov ebx, 5
mov edi, ebx
push edi
mov dword [ebp - 0x10], 0x46a897
mov esi, dword [ebp - 0x10]
sub esi, 0x517af
call dword [esi]
or eax, eax
jne 0x40146f
mov ebx, 0x20c830
mov edx, ebx
shl edx, 1
call dword [edx]
inc eax
jne 0x40116c
lea eax, [0x42236e]
push eax
sub esi, eax
push 0
push 0x9944d
push 0
push edi
call fcn.00401a50
mov dword [ebp - 0x14], eax
or eax, eax
je 0x402e3a
sub ebx, esi
push 0x4f
pop edi
push edi
push 0xfd
pop eax
push eax
mov edx, 0x51
mov eax, edx
push eax
mov esi, 0xd5
mov edx, esi
push edx
push 0xd329a8
pop edi
mov dword [ebp - 0x10], 0x91984c
sub edi, dword [ebp - 0x10]
call dword [edi]
or eax, eax
je 0x401562
mov ecx, 7
mov eax, ecx
push eax
mov edx, 0x1d2f81
mov ecx, 0x2461a3
add edx, ecx
push dword [edx]
pop dword [0x4224ba]
mov edx, dword [0x4224ba]
call edx
or eax, eax
jne 0x401488
push 0
push 0x20
push 2
push 0
push 0
push 0x40000000
push 0
push 0x7b31ee
pop eax
mov dword [0x4227c0], 0x39a1d6
sub eax, dword [0x4227c0]
call dword [eax]
mov ecx, eax
add ecx, dword [0x42243d]
rol ecx, 8
sub ecx, dword [0x422749]
ror ecx, 6
dec ecx
add ecx, 0x163
jne 0x402eea
add ecx, 0x509
shr ecx, 3
sub ecx, dword [0x422138]
shr ecx, 1
add ecx, ebx
sub dword [0x422023], ecx
mov dword [0x4223db], 0xffffffff
sub eax, dword [0x4223db]
push eax
push eax
push 0x24
push eax
push eax
mov edx, 0x20c81c
shl edx, 1
call dword [edx]
xor ecx, ecx
inc ecx
ror ecx, 3
sub ecx, dword [0x42212a]
sub ecx, eax
sub ecx, dword [0x422280]
add ecx, 0xdad
shr ecx, 5
sub ecx, edi
sub ecx, 0x6aa
shr ecx, 1
add dword [0x422050], ecx
sub eax, 0xff2e95
mov ecx, 0x8cc
rol ecx, 3
sub ecx, dword [0x422797]
add ecx, 0x597
add dword [0x42221b], ecx
ror ecx, 1
sub ecx, edi
mov edi, ecx
ror edi, 1
sub edi, ebx
sub edi, 0x7e3
mov dword [ebp - 8], edi
sub eax, 0xfec0a133
mov dword [0x4226b3], eax
mov dword [ebp - 0xc], 0x1c83af
mov edi, dword [ebp - 0xc]
add edi, 0x25a082
push edi
mov dword [ebp - 0x10], 0x3f396a
mov edi, dword [ebp - 0x10]
mov dword [0x422830], 0x2e774
add edi, dword [0x422830]
push edi
mov ebx, 0x68b8d322
push ebx
push 0xe33fbc
pop ecx
sub ecx, 0xa1ae50
call dword [ecx]
or eax, eax
je 0x40155c
push dword [0x4226b3]
mov edi, 0x625489b3
push edi
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0x10]
push edx
push 0xffdb4d
pop eax
mov ecx, 0xbe4a05
mov esi, ecx
sub eax, esi
call dword [eax]
inc eax
jne 0x401511
ret