Function at 0x42f095
Capabilities:
Get file size
Read file on windows

Disassembly:
push 0x54
mov eax, 0x457f93
call fcn.00453ae0
xor esi, esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x58], esi
mov dword [ebp - 4], esi
call fcn.0043fb02
push esi
push 0x80
push 3
push esi
push 1
push SysReAllocString
push dword [ebp + 8]
call dword [eax + 0x44]
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 1
fld qword [0x4778f0]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
fsubp st(1)
fsub qword [0x4778e8]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fsub qword [ebp - 0x28]
fsub qword [ebp - 0x28]
fld qword [ebp - 0x28]
fdiv qword [0x4778e0]
faddp st(1)
fsub qword [ebp - 0x28]
cmp dword [ebp - 0x30], 0xffffffff
fstp qword [ebp - 0x28]
jne 0x42f133
mov byte [ebp - 4], 0
call fcn.0043fb02
push 0xffffffffffffffff
call dword [eax + 0x34]
jmp 0x42f250
push esi
push dword [ebp - 0x30]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, eax
mov byte [ebp - 0x10], 0
cmp edi, esi
jbe 0x42f158
lea ecx, [ebp - 0x10]
xor eax, eax
push ecx
push eax
mov eax, edi
lea ecx, [ebp - 0x60]
call fcn.0040bcf7
fld qword [0x477920]
mov dword [ebp - 0x3c], esi
fstp qword [ebp - 0x28]
push esi
fld qword [ebp - 0x28]
lea eax, [ebp - 0x3c]
fmul qword [0x477918]
push eax
push edi
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
fadd qword [0x477910]
fadd qword [ebp - 0x28]
fld qword [ebp - 0x28]
fld qword [0x477908]
fmul st(1), st(0)
fxch st(2)
faddp st(1)
fsub qword [ebp - 0x28]
fsub qword [0x477900]
fld qword [ebp - 0x28]
fmul qword [0x4779b0]
fsubp st(1)
fadd qword [ebp - 0x28]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
faddp st(1)
fsub qword [0x4779c0]
fadd qword [ebp - 0x28]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fadd qword [ebp - 0x28]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fdiv qword [0x4778f8]
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fsub qword [ebp - 0x28]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
fmul qword [ebp - 0x28]
fsubp st(1)
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
fdiv qword [0x4778c8]
fmul qword [ebp - 0x28]
fsubp st(1)
fsub qword [ebp - 0x28]
fsub qword [0x477940]
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x28]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
fmulp st(1)
fmul qword [ebp - 0x28]
fadd qword [ebp - 0x28]
mov ebx, dword [ebp - 0x60]
mov edi, dword [ebp - 0x30]
push ebx
push edi
fstp qword [ebp - 0x28]
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov byte [ebp - 4], 0
test eax, eax
jne 0x42f258
cmp edi, esi
je 0x42f245
call fcn.0043fb02
push edi
call dword [eax + 0x34]
cmp ebx, esi
je 0x42f250
push ebx
call fcn.00410e98
pop ecx
xor al, al
call fcn.00453bb8
ret
cmp edi, esi
je 0x42f26d
xor eax, eax
lea edi, [ebp - 0x12]
stosb byte es:[edi], al
call fcn.0043fb02
push dword [ebp - 0x30]
call dword [eax + 0x34]
lea eax, [ebx + 4]
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], ebx
cmp eax, dword [ebp - 0x5c]
jae 0x42f245
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x2c]
call fcn.0042ed0c
test al, al
je 0x42f245
cmp dword [ebp - 0x40], 0x4c
jne 0x42f245
mov eax, dword [ebp - 0x2c]
lea edi, [eax + 0x10]
cmp edi, dword [ebp - 0x5c]
jae 0x42f245
push 0x10
push 0x45b3d0
push eax
call fcn.00410fed
add esp, 0xc
test eax, eax
jne 0x42f245
fld qword [0x4779a8]
mov dword [ebp - 0x2c], edi
fstp qword [ebp - 0x48]
fld qword [0x4779a0]
fstp qword [ebp - 0x48]
fld qword [0x4779d0]
fstp qword [ebp - 0x28]
fld qword [0x477998]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x28]
fmul qword [ebp - 0x28]
fld qword [ebp - 0x28]
fsub qword [0x4779c8]
faddp st(1)
fld qword [ebp - 0x20]
fmul qword [ebp - 0x20]
fsubp st(1)
fsub qword [0x477990]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fcomp qword [ebp - 0x28]
fnstsw ax
test ah, 0x41
jp 0x42f30e
fld qword [ebp - 0x28]
fmul qword [ebp - 0x48]
fstp qword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
add eax, 4
cmp eax, dword [ebp - 0x5c]
jae 0x42f328
lea ecx, [ebp - 0x34]
lea eax, [ebp - 0x2c]
call fcn.0042ed0c
test al, al
jne 0x42f339
cmp dword [ebp - 0x60], esi
je 0x42f250
push dword [ebp - 0x60]
jmp 0x42f24a
mov cl, byte [ebp - 0x34]
mov dword [ebp - 0x24], 0x54
add dword [ebp - 0x24], 0x13
mov eax, dword [ebp - 0x34]
shr eax, 7
and al, 1
mov byte [ebp - 0x11], al
push 0x2c
pop ebx
mov dword [ebp - 0x1c], ebx
push 0x62
pop edi
mov dword [ebp - 0x24], edi
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
sub eax, edx
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
imul eax, edx
mov edx, dword [ebp - 0x24]
imul eax, eax, 0x51
imul edx, edx, 0xffffffba
sub edx, eax
mov eax, dword [ebp - 0x1c]
imul eax, eax, 0x35
add edx, eax
mov eax, dword [ebp - 0x24]
sub edx, eax
mov eax, dword [ebp - 0x1c]
lea eax, [edx + eax - 0x20]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
imul eax, eax, 0x2e
sub edx, eax
mov eax, dword [ebp - 0x1c]
sub edx, eax
add edx, dword [ebp - 0x1c]
push 0x3f
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
sub eax, 0x52
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
lea eax, [edx + eax + 0x32]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
pop edx
sub edx, eax
mov eax, dword [ebp - 0x24]
sub edx, eax
add edx, dword [ebp - 0x1c]
push 0x25
add edx, dword [ebp - 0x1c]
pop esi
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
imul eax, edx
mov edx, dword [ebp - 0x1c]
imul eax, eax, 0x3e
sub eax, edx
mov edx, dword [ebp - 0x24]
sub eax, edx
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
cdq
idiv esi
mov edx, dword [ebp - 0x1c]
sub eax, edx
mov dword [ebp - 0x24], eax
add dword [ebp - 0x24], 0xffffffb1
and cl, 1
je 0x42f4a1
cmp byte [ebp - 0x11], 0
je 0x42f4a1
mov eax, dword [ebp - 0x60]
fldz
add eax, 0x4c
mov dword [ebp - 0x2c], eax
fstp qword [ebp - 0x48]
fld qword [0x477948]
fstp qword [ebp - 0x28]
fld qword [0x477940]
fst qword [ebp - 0x48]
fld qword [0x477938]
fstp qword [ebp - 0x20]
fld qword [0x477930]
fstp qword [ebp - 0x50]
fld qword [ebp - 0x28]
fld qword [ebp - 0x28]
fucompp
fnstsw ax
test ah, 0x44
jp 0x42f485
fld qword [ebp - 0x20]
fsub qword [0x477978]
fsub qword [ebp - 0x48]
fsub qword [ebp - 0x20]
fsub qword [ebp - 0x48]
fld qword [ebp - 0x28]
fdivrp st(2)
fsubrp st(1)
fsub qword [ebp - 0x20]
fsub qword [0x477928]
fadd qword [ebp - 0x28]
fstp qword [ebp - 0x48]
jmp 0x42f487
fstp st(0)
mov eax, dword [ebp - 0x2c]
add eax, 2
cmp eax, dword [ebp - 0x5c]
jae 0x42f4a1
lea ecx, [ebp - 0x18]
lea eax, [ebp - 0x2c]
call fcn.0042edf4
test al, al
jne 0x42f4aa
cmp dword [ebp - 0x60], 0
jmp 0x42f32b
mov eax, dword [ebp - 0x2c]
add eax, 2
cmp eax, dword [ebp - 0x5c]
jae 0x42f4a1
lea ecx, [ebp - 0x38]
lea eax, [ebp - 0x2c]
call fcn.0042edf4
test al, al
je 0x42f4a1
cmp word [ebp - 0x38], 0
je 0x42f4a1
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
imul eax, ecx
mov ecx, dword [ebp - 0x1c]
imul eax, eax, 0x51
imul ecx, ecx, 0xffffffba
sub ecx, eax
mov eax, dword [ebp - 0x24]
imul eax, eax, 0x35
add ecx, eax
mov eax, dword [ebp - 0x1c]
sub ecx, eax
mov eax, dword [ebp - 0x24]
lea eax, [ecx + eax - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
imul eax, eax, 0x2e
sub ecx, eax
mov eax, dword [ebp - 0x24]
sub ecx, eax
add ecx, dword [ebp - 0x24]
push 0x3f
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x1c]
sub eax, 0x52
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x1c]
lea eax, [ecx + eax + 0x32]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
pop ecx
sub ecx, eax
mov eax, dword [ebp - 0x1c]
sub ecx, eax
add ecx, dword [ebp - 0x24]
push 0x25
add ecx, dword [ebp - 0x24]
mov dword [ebp - 0x24], ecx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x24]
imul eax, ecx
mov ecx, dword [ebp - 0x24]
imul eax, eax, 0x3e
sub eax, ecx
mov ecx, dword [ebp - 0x1c]
sub eax, ecx
add eax, dword [ebp - 0x24]
pop ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x24]
cdq
idiv ecx
mov ecx, dword [ebp - 0x24]
sub eax, ecx
mov dword [ebp - 0x1c], eax
add dword [ebp - 0x1c], 0xffffffb1
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x2c]
movzx esi, ax
add esi, ecx
lea edx, [esi - 2]
cmp edx, dword [ebp - 0x5c]
jae 0x42f4a1
push dword [ebp + 0xc]
add eax, 0xfffffffe
push ecx
call fcn.0042eec7
pop ecx
pop ecx
test al, al
jne 0x42f5ae
add esi, 0xfffffffe
mov dword [ebp - 0x2c], esi
jmp 0x42f4aa
cmp dword [ebp - 0x60], 0
je 0x42f5bd
push dword [ebp - 0x60]
call fcn.00410e98
pop ecx
mov al, 1
jmp 0x42f252