Function at 0x414750
Capabilities:
Read file on windows
Terminate process

Disassembly:
push ebp
mov ebp, esp
mov ecx, dword [0x439518]
sub esp, 0x20
push ebx
push esi
mov ebx, eax
push edi
mov edi, dword [0x438f88]
lea eax, [ebx + ebx*2]
lea esi, [eax + edi*2]
imul esi, ecx
add esi, esi
add esi, esi
add esi, esi
jne 0x41477d
mov dword [ebp - 4], esi
jmp 0x4147d1
push esi
call dword [sym.imp.MSVCR100.dll_malloc]
add esp, 4
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x4147b6
push str._Out_of_memory._Please_run_a_smaller_problem_n
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 4
call fcn.00404c60
inc dword [0x437d8c]
je 0x4147ae
call fcn.004048c0
push 3
call dword [sym.imp.MSVCR100.dll_exit]
push esi
push 0
push eax
call sub.MSVCR100.dll_memset
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
mov ecx, dword [0x439518]
mov esi, dword [ebp - 4]
add esp, 0xc
imul edi, ecx
mov eax, ecx
imul eax, ebx
shl edi, 4
add edi, esi
shl eax, 4
add eax, edi
mov dword [ebp - 8], eax
mov eax, ecx
imul eax, ecx
mov dword [ebp - 0x14], edi
mov edi, dword [0x438084]
test eax, eax
jle 0x41480c
mov ecx, eax
and ecx, 0x1fffffff
add ecx, ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [0x439518]
mov edi, dword [0x438064]
test ecx, ecx
jle 0x414822
and ecx, 0x1fffffff
add ecx, ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [0x438114]
mov edi, dword [sym.imp.MSVCR100.dll__fseeki64]
push 0
push 0
push 0
push edx
call edi
mov eax, dword [0x4380cc]
push 0
push 0
push 0
push eax
call edi
mov ecx, dword [0x4380b8]
push 0
push 0
push 0
push ecx
call edi
mov edx, dword [0x438058]
push 0
push 0
push 0
push edx
call edi
xor edi, edi
add esp, 0x40
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], edi
cmp dword [0x438efc], edi
jle 0x414b7c
mov esi, dword [0x438f88]
mov eax, ebx
imul eax, ebx
add eax, eax
add eax, eax
add eax, eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], edi
jmp 0x414895
mov eax, ecx
mov ecx, dword [ebp - 0x18]
add ecx, dword [0x438050]
mov edx, dword [0x4380bc]
push eax
push ecx
push edx
call sub.MSVCR100.dll_memcpy
mov eax, dword [0x439518]
mov ecx, eax
imul ecx, ebx
add esp, 0xc
test ecx, ecx
jle 0x4148d1
mov edi, dword [ebp - 8]
and ecx, 0x1fffffff
add ecx, ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [0x439518]
test ebx, ebx
jle 0x4148ee
mov edi, dword [0x43810c]
mov ecx, ebx
and ecx, 0x1fffffff
add ecx, ecx
xor eax, eax
rep stosd dword es:[edi], eax
mov eax, dword [0x439518]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
cmp dword [ecx + edx*4], 0
mov dword [ebp - 0x1c], 0
jle 0x414b12
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x10]
mov edi, dword [ecx + edx*4]
lea ecx, [edi*8]
test ecx, ecx
je 0x41493d
mov eax, dword [0x438114]
push eax
push 1
push ecx
mov ecx, dword [0x438008]
push ecx
call dword [sym.imp.MSVCR100.dll_fread]
mov eax, dword [0x439518]
mov esi, dword [0x438f88]
add esp, 0x10
imul eax, edi
add eax, eax
add eax, eax
add eax, eax
je 0x414967
mov edx, dword [0x4380cc]
push edx
push 1
push eax
mov eax, dword [0x438118]
push eax
call dword [sym.imp.MSVCR100.dll_fread]
mov esi, dword [0x438f88]
add esp, 0x10
mov eax, edi
imul eax, ebx
add eax, eax
add eax, eax
add eax, eax
je 0x414994
mov ecx, dword [0x4380b8]
mov edx, dword [0x438180]
push ecx
push 1
push eax
push edx
call dword [sym.imp.MSVCR100.dll_fread]
mov esi, dword [0x438f88]
add esp, 0x10
mov eax, dword [ebp + 0x10]
push esi
push eax
push esi
call fcn.00404420
mov esi, dword [0x438f88]
mov eax, dword [0x439518]
mov ecx, dword [0x43811c]
mov edx, dword [0x438118]
add esp, 0xc
push esi
push esi
push eax
push ecx
mov ecx, dword [ebp - 4]
push edx
push edi
push eax
mov eax, edi
call fcn.00403250
mov eax, dword [ebp - 4]
mov ecx, dword [0x439518]
mov edx, dword [0x438008]
add esp, 0x1c
push 1
push 1
push esi
push eax
push edi
push ecx
mov ecx, dword [0x4380b4]
mov eax, 1
call fcn.00403140
mov eax, dword [0x439518]
add esp, 0x18
test eax, eax
jle 0x414a24
mov ecx, dword [0x438064]
mov edx, dword [0x4380b4]
sub edx, ecx
mov edi, edi
fld qword [edx + ecx]
add ecx, 8
dec eax
fadd qword [ecx - 8]
fstp qword [ecx - 8]
jne 0x414a10
mov eax, dword [0x439518]
mov edx, dword [ebp - 4]
mov ecx, dword [0x438108]
push eax
push eax
push esi
push edx
mov edx, dword [0x438118]
push edi
push eax
call fcn.00403140
mov eax, dword [0x438108]
mov ecx, dword [0x438084]
push eax
mov eax, dword [0x439518]
push eax
mov edx, ecx
call fcn.00403d50
mov ecx, dword [ebp - 4]
mov edx, dword [0x439518]
push ebx
push ebx
push esi
push ecx
mov ecx, dword [ebp - 0x14]
push edi
push edx
mov edx, dword [0x438180]
mov eax, ebx
call fcn.00403140
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
push eax
mov eax, dword [0x439518]
push ebx
mov edx, ecx
call fcn.00403d50
mov ecx, dword [0x43811c]
mov edx, dword [0x438180]
add esp, 0x40
push esi
push esi
push ebx
push ecx
mov ecx, dword [0x438010]
push edx
push edi
push ebx
mov eax, edi
call fcn.00403250
mov eax, dword [0x438010]
mov edx, dword [0x438008]
add esp, 0x1c
push 1
push 1
push esi
push eax
push edi
mov edi, dword [0x438184]
push ebx
mov ecx, edi
mov eax, 1
call fcn.00403140
add esp, 0x18
test ebx, ebx
jle 0x414af4
mov eax, dword [0x43810c]
sub edi, eax
mov ecx, ebx
fld qword [edi + eax]
add eax, 8
dec ecx
fadd qword [eax - 8]
fstp qword [eax - 8]
jne 0x414ae5
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
inc dword [ebp - 0x10]
inc eax
cmp eax, dword [ecx + edx*4]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x439518]
jl 0x414905
mov ecx, dword [ebp - 8]
mov edi, dword [ebp - 0x14]
mov edx, dword [0x4380bc]
push ecx
push ebx
push ebx
push eax
mov eax, edi
call fcn.004036b0
mov eax, dword [0x439518]
mov edx, dword [ebp - 8]
push edi
push eax
push eax
mov eax, dword [0x438084]
call fcn.00403c60
mov edx, dword [0x438064]
mov eax, dword [0x43810c]
mov ecx, dword [0x439518]
add esp, 0x1c
push edx
push eax
mov edx, edi
call fcn.00403bc0
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x20]
add dword [ebp - 0x18], ecx
inc eax
add esp, 8
mov dword [ebp - 0xc], eax
cmp eax, dword [0x438efc]
jl 0x414893
mov esi, dword [ebp - 4]
xor edi, edi
cmp esi, edi
je 0x414b8a
push esi
call dword [sym.imp.MSVCR100.dll_free]
add esp, 4
mov eax, dword [0x439518]
mov edx, dword [ebp + 0x10]
mov ecx, dword [0x43804c]
push eax
push eax
push edx
mov edx, dword [0x438084]
push ecx
push edx
push eax
call fcn.00402a50
add esp, 0x18
test eax, eax
jne 0x414c32
mov esi, dword [0x439518]
mov ebx, dword [0x43804c]
xor ecx, ecx
test esi, esi
jle 0x414be3
fldz
lea edi, [esi*8 + 8]
mov edx, ebx
fcom qword [edx]
fnstsw ax
test ah, 0x41
je 0x414c30
inc ecx
add edx, edi
cmp ecx, esi
jl 0x414bd1
fstp st(0)
push esi
push ebx
push esi
call fcn.004018a0
add esp, 0xc
test eax, eax
jne 0x414c32
push esi
push eax
push ebx
push esi
call fcn.00401980
add esp, 0x10
test eax, eax
je 0x414c32
mov eax, dword [0x43804c]
mov edx, dword [0x438064]
push eax
mov eax, dword [0x439518]
push 1
push eax
push eax
mov eax, dword [0x43803c]
call fcn.004036b0
add esp, 0x10
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
fstp st(0)
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret