Function at 0x460f77
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x18
push ebx
xor ebx, ebx
push edi
mov edi, dword [esp + 0x28]
mov eax, 0x5a
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], eax
cmp edi, ebx
jne 0x460f9f
pop edi
xor eax, eax
pop ebx
add esp, 0x18
ret
push ebp
mov ebp, dword [esp + 0x30]
push esi
cmp ebp, ebx
je 0x461309
mov esi, dword [esp + 0x38]
cmp esi, ebx
je 0x461309
push 8
push 0x100ffac0
push edi
call fcn.005055b2
add esp, 0xc
test eax, eax
jne 0x461156
push 0x20
call dword [0x10140038]
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x46106b
push 0x20
push edi
push esi
push ebp
call fcn.0045fc57
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x24]
push ecx
push 0x20
push edi
push ebx
call fcn.004267a7
push edi
mov esi, eax
call dword [0x1014003c]
add esp, 0x28
test esi, esi
je 0x461021
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret
mov edx, dword [esp + 0x10]
push edx
push 0x100ffaa0
push ebx
call fcn.0042f2e7
mov edi, dword [esp + 0x3c]
mov eax, edi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46103d
sub eax, edx
lea esi, [eax + 1]
push esi
call dword [0x10140038]
mov ebx, eax
add esp, 4
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x461078
mov eax, dword [esp + 0x10]
push eax
call dword [0x1014003c]
add esp, 4
pop esi
pop ebp
pop edi
mov eax, 0x1b
pop ebx
add esp, 0x18
ret
push esi
push edi
push ebx
call fcn.00504bc7
add esp, 0xc
mov esi, ebx
mov edi, edi
push 0x100ffa94
push esi
call fcn.00505f37
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x46109f
mov byte [ebp], 0
lea edx, [esi + 8]
mov ecx, edx
lea esi, [ecx + 1]
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x4610a7
sub ecx, esi
mov edi, ecx
mov ecx, dword [esp + 0x20]
cmp ecx, edi
jne 0x4610ff
mov esi, dword [esp + 0x10]
cmp ecx, 4
jb 0x4610db
lea esp, [esp]
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x4610ff
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x4610c7
test ecx, ecx
je 0x461121
mov al, byte [edx]
cmp al, byte [esi]
jne 0x4610ff
cmp ecx, 1
jbe 0x461121
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x4610ff
cmp ecx, 2
jbe 0x461121
mov cl, byte [edx + 2]
cmp cl, byte [esi + 2]
je 0x461121
test ebp, ebp
je 0x461129
push 0x100ffac0
push ebp
mov byte [ebp], 0x3b
call fcn.00505f37
mov esi, eax
add esp, 8
test esi, esi
jne 0x461087
jmp 0x461129
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x10]
push edx
call dword [0x1014003c]
mov eax, dword [esp + 0x34]
push eax
mov dword [esp + 0x18], 0
call dword [0x1014003c]
mov eax, dword [esp + 0x1c]
add esp, 8
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret
push 0x100f6854
push edi
call fcn.00505368
mov ebx, eax
add esp, 8
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x461179
pop esi
pop ebp
pop edi
lea eax, [ebx + 0x5a]
pop ebx
add esp, 0x18
ret
push 2
push 0
push ebx
call fcn.00506a83
add esp, 0xc
test eax, eax
jne 0x4612de
push ebx
call fcn.00507342
push 0
push 0
push ebx
mov edi, eax
call fcn.00506a83
add esp, 0x10
test eax, eax
jne 0x4612de
cmp edi, 0x100000
ja 0x4612de
mov eax, edi
cdq
push edx
push eax
call fcn.00481307
mov edi, eax
add esp, 8
cmp esi, edi
ja 0x4612de
lea ecx, [edi + 1]
push ecx
call dword [0x10140038]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x4612de
push ebx
push 1
push edi
push eax
call fcn.0050528f
add esp, 0x10
cmp eax, 1
jne 0x4612de
cmp esi, edi
jne 0x461269
mov ecx, dword [esp + 0x18]
mov eax, esi
mov edi, ebp
cmp esi, 4
jb 0x46122f
jmp 0x461217
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x4612de
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x461217
test eax, eax
je 0x46125f
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x4612de
cmp eax, 1
jbe 0x46125f
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x4612de
cmp eax, 2
jbe 0x46125f
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x4612de
mov dword [esp + 0x14], 0
jmp 0x4612de
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push edx
mov byte [edi + ebx], 0
call fcn.00460ea7
add esp, 8
test eax, eax
jne 0x4612da
cmp esi, dword [esp + 0x24]
jne 0x4612da
mov ecx, dword [esp + 0x1c]
mov eax, esi
mov edi, ebp
cmp esi, 4
jb 0x4612ae
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x4612da
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x46129a
test eax, eax
je 0x4612d2
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x4612da
cmp eax, 1
jbe 0x4612d2
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x4612da
cmp eax, 2
jbe 0x4612d2
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x4612da
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x1014003c]
mov edx, dword [esp + 0x20]
push edx
call dword [0x1014003c]
push ebx
mov dword [esp + 0x28], 0
call fcn.00504fd1
mov eax, dword [esp + 0x20]
add esp, 0xc
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret