Function at 0x404300
Capabilities:
Read file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 8
mov eax, dword [0x47d0b0]
mov ecx, dword [0x47d0b4]
mov ebp, dword [esp + 0x1c]
lea edx, [eax - 1]
imul edx, eax
mov eax, 0x59ada5b8
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete byte [esp + 1]
cmp ecx, 0xa
setl byte [esp + 2]
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
mov eax, dword [0x47d0b0]
mov esi, 0xfd6ee6b3
mov edi, 0xc44bb6e3
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0xc44bb6e3
sete cl
cmove eax, esi
cmp dword [0x47d0b4], 0xa
setl dl
cmovge eax, edi
xor dl, cl
cmovne eax, esi
nop dword [eax + eax]
cmp eax, 0xf3387c53
jle 0x4044b0
cmp eax, 0x546d9327
jg 0x4043e0
cmp eax, 0xfd6ee6b2
jle 0x40440d
cmp eax, 0xfd6ee6b3
je 0x40445d
cmp eax, 0x1797e678
je 0x40460b
cmp eax, 0x2b7edb1d
jne 0x404380
mov eax, dword [0x47d0b0]
mov edi, 0xfa5399f7
mov esi, 0xd2f2b6d1
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xd2f2b6d1
jmp 0x404477
cmp eax, 0x59ada5b7
jle 0x404442
cmp eax, 0x59ada5b8
je 0x404642
cmp eax, 0x6121f088
je 0x404679
cmp eax, 0x7107bfcf
jne 0x404380
jmp 0x404782
cmp eax, 0xf3387c54
je 0x40468e
cmp eax, 0xfa5399f7
jne 0x404380
mov eax, dword [0x47d0b0]
mov esi, 0x7107bfcf
mov edi, 0xd2f2b6d1
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xd2f2b6d1
jmp 0x4045c5
cmp eax, 0x546d9328
je 0x4046a5
cmp eax, 0x559d836f
jne 0x404380
jmp 0x404580
mov eax, dword [0x47d0b0]
mov edi, 0xd1692212
mov esi, 0xc44bb6e3
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0xc44bb6e3
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
sete cl
cmove eax, edi
cmp dword [0x47d0b4], 0xa
setl dl
cmovge eax, esi
xor dl, cl
cmovne eax, edi
cmp eax, 0xf3387c53
jg 0x40438b
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x9f83c1f5
jle 0x404500
cmp eax, 0xc44bb6e2
jle 0x404595
cmp eax, 0xc44bb6e3
je 0x4046ba
cmp eax, 0xd1692212
je 0x4046cf
cmp eax, 0xd2f2b6d1
jne 0x404380
mov eax, 0xfa5399f7
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
cmp eax, 0x880967b6
jg 0x4045d2
cmp eax, 0x80f3ee9a
je 0x40471e
cmp eax, 0x87274708
jne 0x404380
push 2
push 0
push dword [esp + 0xc]
call fcn.00464fa6
add esp, 0xc
push dword [esp + 4]
call fcn.004652c9
add esp, 4
mov esi, eax
push dword [esp + 4]
call fcn.00464a54
add esp, 4
push 0x4761aa
push ebp
call fcn.00464ba9
add esp, 8
mov edi, eax
push esi
call fcn.0046591e
add esp, 4
mov ecx, dword [esp + 0x20]
mov dword [ecx], eax
push edi
push esi
push 1
push eax
call fcn.00464d95
add esp, 0x10
push edi
call fcn.00464a54
add esp, 4
mov eax, 0x9f83c1f6
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
cmp eax, 0x9f83c1f6
je 0x404342
cmp eax, 0xc1aa0c98
jne 0x404380
mov eax, dword [0x47d0b0]
mov esi, 0xf3387c54
mov edi, 0x546d9328
lea ecx, [eax - 1]
imul ecx, eax
mov eax, 0x546d9328
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
jmp 0x404363
cmp eax, 0x880967b7
je 0x404760
cmp eax, 0x8b449f78
jne 0x404380
push 0x4761aa
push ebp
call fcn.00464ba9
add esp, 8
mov eax, 0x80f3ee9a
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
mov eax, dword [0x47d0b0]
mov ecx, dword [0x47d0b4]
mov esi, 0xc1aa0c98
mov edi, 0x2b7edb1d
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete bl
cmp ecx, 0xa
setl bh
xor bh, bl
cmovne esi, edi
test eax, edx
jmp 0x404703
movzx ecx, byte [esp + 1]
movzx eax, byte [esp + 2]
mov esi, 0x80f3ee9a
mov edx, ecx
xor dl, al
mov edx, 0x8b449f78
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, esi
test cl, cl
cmove eax, edx
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
mov eax, 0x1797e678
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
mov eax, dword [0x47d0b0]
mov ecx, dword [0x47d0b4]
mov esi, 0x546d9328
mov edi, 0x6121f088
jmp 0x4046e4
mov eax, 0xf3387c54
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
mov eax, 0xfd6ee6b3
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
mov eax, dword [0x47d0b0]
mov ecx, dword [0x47d0b4]
mov esi, 0xc1aa0c98
mov edi, 0x1797e678
lea edx, [eax - 1]
imul edx, eax
not edx
or edx, 0xfffffffe
cmp edx, 0xffffffff
sete al
cmp ecx, 0xa
setl ah
xor ah, al
cmovne esi, edi
cmp edx, 0xffffffff
mov eax, esi
cmove eax, edi
cmp ecx, 0xa
cmovge eax, esi
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
push 0x4761aa
push ebp
call fcn.00464ba9
add esp, 8
mov dword [esp + 4], eax
mov esi, 0x880967b7
mov edi, 0x8b449f78
cmp dword [esp + 4], 0
mov eax, dword [0x47d0b0]
lea ecx, [eax - 1]
sete byte [esp + 3]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
mov eax, 0x8b449f78
jmp 0x404363
cmp byte [esp + 3], 0
mov eax, 0x87274708
mov ecx, 0x559d836f
cmovne eax, ecx
cmp eax, 0xf3387c53
jg 0x40438b
jmp 0x4044b0
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret