Function at 0x402705
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
push esi
push edi
push ebx
mov esi, 0x1b9e
mov eax, esi
movzx edi, ax
mov eax, edi
sub eax, esi
movzx ebx, al
mov word [ebp - 4], 0x79fd
mov eax, dword [ebp + 8]
and eax, dword [ebp + 0x10]
movzx edx, word [ebp - 4]
and eax, edx
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], 0x429000
mov eax, esi
shr eax, 1
mov word [ebp - 0x10], ax
movzx eax, word [ebp - 0x10]
sub eax, edi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x18], al
movzx eax, byte [ebp - 0x18]
imul eax, eax, 0x7951
mov byte [ebp - 0x18], al
mov eax, dword [0x426099]
mov dword [ebp - 0x1c], eax
mov eax, esi
shl eax, 8
mov byte [ebp - 0x20], al
mov byte [ebp - 0x24], 0xe3
movzx eax, byte [ebp - 0x18]
mov byte [ebp - 0x18], al
movzx eax, word [ebp - 4]
and eax, 0x6720
xor eax, dword [ebp + 8]
mov dword [ebp - 8], eax
mov dword [ebp - 0x28], 1
cmp esi, 0x1b9e
je 0x4027ad
movzx eax, byte [ebp - 0x20]
push eax
push 0x95ced
push 0x7fd03
call dword [sym.imp.KERNEL32.dll_WriteConsoleA]
mov word [ebp - 4], 0x40cb
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x402875
movzx eax, word [ebp - 4]
mov byte [ebp - 0x24], al
mov eax, dword [ebp + 0x10]
mov word [ebp - 4], ax
mov eax, dword [ebp + 8]
movzx edx, byte [ebp - 0x18]
and eax, edx
xor eax, 0x728
mov byte [ebp - 0x18], al
mov edx, dword [ebp - 0xc]
movzx eax, byte [edx]
mov edx, dword [ebp - 0x1c]
mov byte [edx], al
mov eax, dword [ebp + 0xc]
movzx edx, word [ebp - 0x2c]
xor eax, edx
mov byte [ebp - 0x24], al
mov dword [ebp - 8], 0x519d
mov eax, dword [ebp - 0x1c]
add eax, 1
mov dword [ebp - 0x1c], eax
movzx eax, word [ebp - 0x30]
imul eax, eax, 0x8fb
imul eax, eax, 0x4bc9
mov word [ebp - 0x2c], ax
mov eax, dword [ebp + 0x10]
or eax, 0x132e
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0xc]
add eax, 1
mov dword [ebp - 0xc], eax
movzx eax, word [ebp - 4]
xor eax, 0x27ca
movzx edx, byte [ebp - 0x24]
sub eax, edx
mov word [ebp - 0x2c], ax
movzx eax, word [ebp - 0x30]
mov word [ebp - 4], ax
mov dword [ebp - 8], 0x3f9e
mov eax, dword [ebp - 0x28]
sub eax, 1
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
mov word [ebp - 0x2c], ax
mov eax, dword [ebp + 8]
movzx edx, word [ebp - 0x2c]
or eax, edx
imul eax, eax, 0x7fa8
mov dword [ebp - 8], eax
jmp 0x4027b3
mov al, byte [ebp - 0x20]
test al, al
je 0x40288e
push esi
movzx eax, word [ebp - 0x10]
push eax
push 0xa5344
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov eax, ebx
add eax, 0x1d5c
mov esi, eax
mov eax, edi
or eax, eax
mov edx, edi
sub edx, eax
movzx ebx, dl
mov eax, dword [ebp + 0x10]
or eax, 0x23d7
movzx edx, word [ebp - 4]
and eax, edx
mov byte [ebp - 0x24], al
movzx eax, byte [ebp - 0x18]
xor eax, 0x2365
add eax, dword [ebp - 8]
mov byte [ebp - 0x18], al
mov eax, dword [ebp + 0xc]
mov word [ebp - 0x30], ax
mov eax, dword [ebp - 0x1c]
mov dword [0x426099], eax
mov eax, ebx
test al, al
je 0x4028e3
push 0x9707a
push esi
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp esi, 0x1d5c
je 0x402900
push 0xb0b0b
push 0x9551b
push 0xd6a
call dword [sym.imp.KERNEL32.dll_LCMapStringA]
mov eax, edi
and eax, 0x6f65
mov byte [ebp - 0x20], al
movzx eax, byte [ebp - 0x18]
xor eax, 0x46b4
movzx edx, word [ebp - 0x30]
imul edx, eax
mov word [ebp - 0x2c], dx
mov eax, edi
mov word [ebp - 0x34], ax
movzx eax, byte [ebp - 0x20]
shr eax, 3
mov byte [ebp - 0x20], al
mov byte [ebp - 0x24], 0x2f
mov eax, dword [ebp + 8]
xor eax, 0x7104
mov byte [ebp - 0x24], al
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 0xc