Function at 0x4054e6
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x154
mov eax, dword [0x518450]
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 0x405567
jb 0x405534
cmp dword [esp + 0x178], 0x150000
jae 0x405567
push dword [esp + 0x178]
mov edx, 0x6cdc3ee9
mov ecx, 0x41a3fec3
push eax
push 0xbe776b1d
call fcn.004011e6
pop ecx
push eax
push 0x808080
call fcn.00405109
add esp, 0x10
or eax, 0xffffffff
jmp 0x40584b
push 0x2b3cecc5
mov edx, 0xf997b90e
mov dword [esp + 0x28], ebx
mov ecx, 0xd4e878e6
call fcn.00401210
push eax
push edi
call fcn.004ba90a
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x405824
push ebx
push dword [esp + 0x174]
mov ecx, esi
push ebx
call fcn.004050a4
mov edi, eax
cmp edi, 0xffffffff
jne 0x4055e4
push ebp
call fcn.004baa50
pop ecx
push ebx
push dword [esp + 0x174]
mov edx, 0x8f10f70b
mov ecx, 0xa26f36eb
push ebx
push 0x5dbba2d4
call fcn.004011e6
pop ecx
push eax
push 0xff
call fcn.00405109
add esp, 0x14
xor eax, eax
jmp 0x40584b
mov edx, dword [esi]
mov eax, dword [esi + 4]
imul ecx, edi, 0xc
dec eax
mov ebx, dword [ecx + edx]
cmp edi, eax
jne 0x4055f9
mov eax, dword [esi + 0xc]
jmp 0x4055fd
mov eax, dword [ecx + edx + 0xc]
mov dword [esp + 0x14], eax
mov byte [esp + 0x13], 1
jmp 0x40577c
cmp byte [0x52aad6], 0
jne 0x4057f7
cmp byte [esp + 0x174], 0
lea eax, [esp + 0x38]
push eax
mov eax, 0x30000
push eax
push dword [esp + 0x20]
je 0x40563c
call fcn.004719e3
lea eax, [esp + 0x5c]
jmp 0x405645
call fcn.004726c0
lea eax, [esp + 0x50]
add esp, 0xc
mov dword [esp + 0x30], eax
cmp ebx, dword [esp + 0x14]
jb 0x40568d
push ebx
push dword [esp + 0x174]
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.004050a4
mov edi, eax
cmp edi, 0xffffffff
je 0x4057c8
mov edx, dword [esi]
mov eax, dword [esi + 4]
imul ecx, edi, 0xc
dec eax
mov ebx, dword [ecx + edx]
cmp edi, eax
jne 0x405685
mov eax, dword [esi + 0xc]
jmp 0x405689
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.004c034e
mov edx, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
cvtsd2ss xmm0, xmm0
mulss xmm0, dword [0x4efd40]
movss dword [esp + 0x34], xmm0
call fcn.004c034e
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 0x40573a
mov eax, dword [ecx + 4]
cmp eax, dword [edx + ebx*8 + 4]
jne 0x40573a
cvttss2si eax, xmm1
mov edx, 0xd514721b
mov ecx, 0xf86bb3b7
push eax
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x28]
push 0x7bf27fe
call fcn.004011e6
pop ecx
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.004bad3c
add esp, 0x18
lea eax, [esp + 0x58]
push eax
push dword [0x52aa70]
call dword [sym.imp.USER32.dll_SetWindowTextA]
jmp 0x405777
cvttss2si eax, xmm1
mov edx, 0x7818fb81
mov ecx, 0x55673afd
push eax
push dword [esp + 0x30]
push dword [esp + 0x30]
push dword [esp + 0x28]
push 0xaab3ae7a
call fcn.004011e6
pop ecx
push eax
push 0xff
call fcn.00405109
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.004bac90
add esp, 0x10
test eax, eax
jne 0x40560b
push ebp
call fcn.004baa50
cmp byte [esp + 0x17], 0
pop ecx
push dword [esp + 0x1c]
je 0x4057fb
push 0x63afba7
mov edx, 0xd491ae78
mov ecx, 0xf9ee6f32
call fcn.004011e6
pop ecx
push eax
push 0x177d06
jmp 0x405816
push ebx
push dword [esp + 0x174]
mov edx, 0x59a1a8fd
mov ecx, 0x74de6937
push 0
push 0x8b0afd22
call fcn.004011e6
pop ecx
push eax
push 0xff
call fcn.00405109
add esp, 0x14
jmp 0x405799
push 0x4c
jmp 0x40584a
push 0x29691f90
mov edx, 0xfbc24a42
mov ecx, 0xd6bd8b6e
call fcn.004011e6
pop ecx
push eax
push 0xff
call fcn.00405109
mov eax, dword [esp + 0x2c]
add esp, 0xc
jmp 0x40584b
push edi
push 0x4c2ff15c
mov edx, 0x9e84a481
mov ecx, 0xb3fb6591
call fcn.004011e6
pop ecx
push eax
push 0xff
call fcn.00405109
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.004b9a6c
add esp, 0x154
ret