Function at 0x4233f9
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov edi, dword [0x45d970]
push 1
xor ebx, ebx
push ebx
push 0xffffffffffffffff
push ebx
mov ecx, edi
mov esi, eax
mov dword [ebp - 8], edi
call fcn.0040161c
mov ecx, dword [0x45e2f0]
push 1
push ebx
push 0xffffffffffffffff
push 0x454094
call fcn.0040161c
or dword [ebp - 0x1c], 0xffffffff
or dword [ebp - 0x18], 0xffffffff
mov byte [ebp - 1], bl
mov byte [ebp - 0xc], bl
mov eax, esi
mov cl, byte [eax]
cmp cl, 0x20
je 0x42344d
cmp cl, 9
jne 0x423450
inc eax
jmp 0x423441
cmp byte [eax], 0x2a
jne 0x4234d4
lea esi, [eax + 1]
movsx eax, byte [esi]
push eax
call dword [sym.imp.MSVCR71.dll_toupper]
cmp eax, 0x43
pop ecx
je 0x4234b9
cmp eax, 0x4d
je 0x423478
cmp eax, 0x54
jne 0x4234bd
mov byte [ebp - 1], 1
jmp 0x4234bd
lea eax, [esi + 1]
push eax
call fcn.0040103a
cmp edx, ebx
pop ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
ja 0x423651
jb 0x42349d
cmp eax, 0x40000000
ja 0x423651
mov edi, 0x453ea4
mov eax, esi
call fcn.00438cc6
mov esi, eax
cmp esi, ebx
je 0x423651
mov edi, dword [ebp - 8]
dec esi
jmp 0x4234bd
mov byte [ebp - 0xc], 1
cmp byte [esi], bl
je 0x42343f
inc esi
cmp byte [esi], bl
je 0x42343f
inc esi
jmp 0x42343f
push ebx
push 0x8000000
push 3
push ebx
push 3
push 0x80000000
push esi
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ecx, eax
cmp ecx, 0xffffffff
mov dword [ebp - 0x10], ecx
je 0x423651
cmp byte [ebp - 0xc], bl
je 0x42351d
mov al, byte [edi + 0x17]
cmp al, bl
jne 0x42350b
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 2
jne 0x42351d
push ecx
push dword [ebp + 8]
call fcn.0043c06e
jmp 0x423654
push ecx
call fcn.00437cbf
mov edi, eax
and eax, edx
cmp eax, 0xffffffff
pop ecx
mov dword [ebp - 0x20], edx
je 0x423649
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
and ecx, eax
cmp ecx, 0xffffffff
jne 0x423557
cmp edx, ebx
ja 0x423649
jb 0x423557
cmp edi, 0x40000000
ja 0x423649
cmp eax, edx
ja 0x423568
jb 0x423562
cmp dword [ebp - 0x1c], edi
jae 0x423568
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x20], eax
mov ecx, dword [0x45e2f0]
xor esi, esi
inc esi
push esi
push ebx
push 0xffffffffffffffff
push 0x452954
call fcn.0040161c
mov eax, edi
or eax, dword [ebp - 0x20]
jne 0x42358a
mov ebx, esi
jmp 0x42359a
mov ecx, dword [ebp - 8]
push ebx
push esi
push edi
push ebx
call fcn.0040161c
cmp eax, esi
je 0x4235aa
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x423654
mov ecx, dword [ebp - 8]
push esi
call fcn.00401c0d
push ebx
mov esi, eax
lea eax, [ebp - 0x14]
push eax
push edi
push esi
push dword [ebp - 0x10]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x10]
mov edi, eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp edi, ebx
je 0x42361b
cmp byte [ebp - 1], bl
mov eax, dword [ebp - 0x14]
mov byte [eax + esi], bl
je 0x4235fb
push ebx
push 0xffffffffffffffff
push 0xffffffffffffffff
push 1
push 0x4569f4
push 0x457058
push esi
xor eax, eax
call fcn.0041c6ee
add esp, 0x1c
cmp byte [ebp - 0xc], bl
je 0x423606
mov esi, dword [ebp - 0x14]
dec esi
jmp 0x42360f
push esi
call sub.MSVCR71.dll_strlen
pop ecx
mov esi, eax
mov eax, dword [ebp - 8]
call fcn.00401b52
mov dword [eax], esi
jmp 0x42363c
mov eax, dword [ebp - 8]
mov byte [esi], bl
call fcn.00401b52
mov ecx, dword [0x45e2f0]
push 1
push ebx
push 0xffffffffffffffff
push 0x454094
mov dword [eax], ebx
call fcn.0040161c
push dword [ebp - 0xc]
mov eax, dword [ebp - 8]
call fcn.0040c147
jmp 0x423654
xor ebx, ebx
inc ebx
jmp 0x42359a
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
leave
ret 4