Function at 0x4051ae
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x154
mov eax, dword [0x517490]
xor eax, esp
mov dword [esp + 0x14c], eax
mov eax, dword [esp + 0x15c]
push ebx
push ebp
push esi
xor ebx, ebx
mov dword [esp + 0x14], edx
mov esi, ecx
mov dword [esp + 0x18], eax
push edi
mov edi, dword [esp + 0x168]
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x17c], ebx
ja 0x40522f
jb 0x4051fc
cmp dword [esp + 0x178], 0x150000
jae 0x40522f
push dword [esp + 0x178]
mov edx, 0x170bb06c
mov ecx, 0x3b54fb5e
push eax
push 0xe4f17c03
call fcn.00401166
pop ecx
push eax
push 0x808080
call fcn.00404dd1
add esp, 0x10
or eax, 0xffffffff
jmp 0x405513
push 0x586a5ee1
mov edx, 0xab9092b1
mov dword [esp + 0x28], ebx
mov ecx, 0x87cfd841
call fcn.00401187
push eax
push edi
call fcn.004ba35a
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x4054ec
push ebx
push dword [esp + 0x174]
mov ecx, esi
push ebx
call fcn.00404d6c
mov edi, eax
cmp edi, 0xffffffff
jne 0x4052ac
push ebp
call fcn.004ba4a0
pop ecx
push ebx
push dword [esp + 0x174]
mov edx, 0x3850420f
mov ecx, 0x140f08f7
push ebx
push 0xcbaa8e4b
call fcn.00401166
pop ecx
push eax
push 0xff
call fcn.00404dd1
add esp, 0x14
xor eax, eax
jmp 0x405513
mov edx, dword [esi]
mov eax, dword [esi + 4]
imul ecx, edi, 0xc
dec eax
mov ebx, dword [ecx + edx]
cmp edi, eax
jne 0x4052c1
mov eax, dword [esi + 0xc]
jmp 0x4052c5
mov eax, dword [ecx + edx + 0xc]
mov dword [esp + 0x14], eax
mov byte [esp + 0x13], 1
jmp 0x405444
cmp byte [0x529b16], 0
jne 0x4054bf
cmp byte [esp + 0x174], 0
lea eax, [esp + 0x38]
push eax
mov eax, 0x30000
push eax
push dword [esp + 0x20]
je 0x405304
call fcn.00471408
lea eax, [esp + 0x5c]
jmp 0x40530d
call fcn.004720e5
lea eax, [esp + 0x50]
add esp, 0xc
mov dword [esp + 0x30], eax
cmp ebx, dword [esp + 0x14]
jb 0x405355
push ebx
push dword [esp + 0x174]
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.00404d6c
mov edi, eax
cmp edi, 0xffffffff
je 0x405490
mov edx, dword [esi]
mov eax, dword [esi + 4]
imul ecx, edi, 0xc
dec eax
mov ebx, dword [ecx + edx]
cmp edi, eax
jne 0x40534d
mov eax, dword [esi + 0xc]
jmp 0x405351
mov eax, dword [ecx + edx + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x24]
mov ecx, 0x30000
mul ecx
mov ecx, edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov ecx, eax
call fcn.004bfd9e
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x4eed60]
movss dword [esp + 0x34], xmm0
call fcn.004bfd9e
mov ecx, dword [esp + 0x30]
mov edx, dword [esi + 8]
movss xmm1, dword [esp + 0x34]
cvtsd2ss xmm0, xmm0
mov eax, dword [ecx]
divss xmm1, xmm0
cmp eax, dword [edx + ebx*8]
jne 0x405402
mov eax, dword [ecx + 4]
cmp eax, dword [edx + ebx*8 + 4]
jne 0x405402
cvttss2si eax, xmm1
mov edx, 0xa895f0a1
mov ecx, 0x84caba15
push eax
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x28]
push 0x5b6f3cdf
call fcn.00401166
pop ecx
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.004ba78c
add esp, 0x18
lea eax, [esp + 0x58]
push eax
push dword [0x529ab0]
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x40543f
cvttss2si eax, xmm1
mov edx, 0xab867a4e
mov ecx, 0x87d9302a
push eax
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x28]
push 0x587cb62e
call fcn.00401166
pop ecx
push eax
push 0xff
call fcn.00404dd1
add esp, 0x18
mov byte [esp + 0x13], 0
inc dword [esp + 0x20]
inc ebx
inc dword [esp + 0x24]
push ebp
push 1
mov eax, 0x30000
push eax
push dword [esp + 0x24]
call fcn.004ba6e0
add esp, 0x10
test eax, eax
jne 0x4052d3
push ebp
call fcn.004ba4a0
cmp byte [esp + 0x17], 0
pop ecx
push dword [esp + 0x1c]
je 0x4054c3
push 0x326a7d16
mov edx, 0xc190b152
mov ecx, 0xedcffb00
call fcn.00401166
pop ecx
push eax
push 0x177d06
jmp 0x4054de
push ebx
push dword [esp + 0x174]
mov edx, 0x45d8b9b1
mov ecx, 0x6987f363
push 0
push 0xb62275f5
call fcn.00401166
pop ecx
push eax
push 0xff
call fcn.00404dd1
add esp, 0x14
jmp 0x405461
push 0x4c
jmp 0x405512
push 0x7b6060df
mov edx, 0x889aac96
mov ecx, 0xa4c5e6a2
call fcn.00401166
pop ecx
push eax
push 0xff
call fcn.00404dd1
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x405513
push edi
push 0x8ffe5efc
mov edx, 0x7c0492ba
mov ecx, 0x505bd8b2
call fcn.00401166
pop ecx
push eax
push 0xff
call fcn.00404dd1
add esp, 0xc
push 0xfffffffffffffffe
pop eax
mov ecx, dword [esp + 0x15c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004b94b6
add esp, 0x154
ret