Function at 0x4236ce
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
push ebx
push esi
push edi
push 1
xor ebx, ebx
push ebx
or esi, 0xffffffff
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x467168]
push esi
push ebx
mov dword [ebp - 8], ecx
call fcn.0040152b
mov ecx, dword [0x464c98]
push 1
push ebx
push esi
push 0x458f24
call fcn.0040152b
mov edi, dword [ebp + 8]
mov byte [ebp - 1], bl
mov byte [ebp - 0xc], bl
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
jmp 0x423788
inc esi
movsx eax, byte [esi]
push eax
call fcn.004418c7
cmp eax, 0x43
pop ecx
je 0x423776
cmp eax, 0x4d
je 0x423737
cmp eax, 0x54
jne 0x42377a
mov byte [ebp - 1], 1
jmp 0x42377a
lea eax, [esi + 1]
push eax
call fcn.00401058
cmp edx, ebx
pop ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
ja 0x423916
jb 0x42375c
cmp eax, 0x40000000
ja 0x423916
push 0x458bf0
push esi
call fcn.00438acb
mov esi, eax
cmp esi, ebx
pop ecx
pop ecx
je 0x423916
dec esi
jmp 0x42377a
mov byte [ebp - 0xc], 1
cmp byte [esi], bl
mov edi, esi
je 0x423788
lea edi, [esi + 1]
cmp byte [edi], bl
je 0x423788
inc edi
push edi
call fcn.00401aa2
mov esi, eax
cmp byte [esi], 0x2a
pop ecx
je 0x423717
push ebx
push 0x8000000
push 3
push ebx
push 3
push 0x80000000
push edi
call dword [sym.imp.KERNEL32.DLL_CreateFileA]
mov edx, eax
cmp edx, 0xffffffff
mov dword [ebp + 8], edx
je 0x423916
cmp byte [ebp - 0xc], bl
je 0x4237e4
mov eax, dword [ebp - 8]
mov cl, byte [eax + 0xf]
cmp cl, 2
jne 0x4237d1
mov eax, dword [eax + 4]
mov cl, byte [eax + 0xf]
cmp cl, 4
jne 0x4237e4
mov ecx, dword [ebp - 0x14]
push edx
call fcn.0044229c
jmp 0x423919
push edx
call fcn.00437a9b
mov edi, eax
and eax, edx
cmp eax, 0xffffffff
pop ecx
mov dword [ebp - 0x14], edx
je 0x42390e
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
and ecx, eax
cmp ecx, 0xffffffff
jne 0x42381e
cmp edx, ebx
ja 0x42390e
jb 0x42381e
cmp edi, 0x40000000
ja 0x42390e
cmp eax, edx
ja 0x42382f
jb 0x423829
cmp dword [ebp - 0x20], edi
jae 0x42382f
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
mov ecx, dword [0x464c98]
xor esi, esi
inc esi
push esi
push ebx
push 0xffffffffffffffff
push 0x45771c
call fcn.0040152b
mov eax, edi
or eax, dword [ebp - 0x14]
jne 0x423851
mov ebx, esi
jmp 0x423861
mov ecx, dword [ebp - 8]
push ebx
push esi
push edi
push ebx
call fcn.0040152b
cmp eax, esi
je 0x423871
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov eax, ebx
jmp 0x423919
mov ecx, dword [ebp - 8]
call fcn.00401c8a
push ebx
mov esi, eax
lea eax, [ebp - 0x10]
push eax
push edi
push esi
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_ReadFile]
push dword [ebp + 8]
mov edi, eax
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
cmp edi, ebx
je 0x4238e0
cmp byte [ebp - 1], bl
mov eax, dword [ebp - 0x10]
mov byte [eax + esi], bl
je 0x4238c0
push ebx
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x45c4f0
push 0x45bd24
push esi
call fcn.0041bfe4
add esp, 0x20
cmp byte [ebp - 0xc], bl
je 0x4238cb
mov esi, dword [ebp - 0x10]
dec esi
jmp 0x4238d4
push esi
call fcn.00454880
pop ecx
mov esi, eax
mov ecx, dword [ebp - 8]
call fcn.00401c6f
mov dword [eax], esi
jmp 0x423901
mov ecx, dword [ebp - 8]
mov byte [esi], bl
call fcn.00401c6f
push 1
push ebx
push 0xffffffffffffffff
mov dword [eax], ebx
mov ecx, dword [0x464c98]
push 0x458f24
call fcn.0040152b
push dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
call fcn.0041cf68
jmp 0x423919
xor ebx, ebx
inc ebx
jmp 0x423861
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 4