Function at 0x4514e0
Capabilities:
Read file on windows

Disassembly:
push 0xffffffffffffffff
push 0x68deb7
mov eax, dword fs:[0]
push eax
sub esp, 0x98
mov eax, dword [0x73d6e0]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x73d6e0]
xor eax, esp
push eax
lea eax, [esp + 0xac]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [edi]
mov esi, dword [esp + 0xbc]
mov byte [edi + 8], 0
call dword [eax]
push 4
call fcn.00547bd8
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0xb4], 0
test eax, eax
je 0x451557
mov dword [eax], 0
mov dword [eax], 0xffffffff
jmp 0x451559
xor eax, eax
mov dword [esp + 0xb4], 0xffffffff
mov dword [esp + 0x1c], eax
mov dword [esp + 0xb4], 1
lea ecx, [esp + 0x1c]
push 0x80
push 3
push 1
push SysReAllocString
push esi
call fcn.00439c50
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
test al, al
jne 0x451645
lea ecx, [esp + 0x8c]
call fcn.00462550
mov byte [esp + 0xb4], 2
cmp dword [edi + 4], 0
je 0x4515f9
sub esp, 0x18
xor eax, eax
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
mov dword [ecx + 0x14], 7
mov dword [ecx + 0x10], 0
push eax
mov word [ecx], ax
lea eax, [esp + 0xac]
push eax
call fcn.00409040
mov byte [esp + 0xcc], 3
mov ecx, dword [edi + 4]
push 0
mov eax, dword [ecx]
mov byte [esp + 0xd0], 2
call dword [eax + 4]
mov byte [esp + 0xb4], 1
cmp dword [esp + 0xa0], 8
jb 0x45161a
push dword [esp + 0x8c]
call fcn.005472b4
add esp, 4
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0xa0], 7
xor bl, bl
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
jmp 0x4518fe
lea eax, [esp + 0x24]
xorps xmm0, xmm0
push eax
lea ecx, [esp + 0x20]
movlpd qword [esp + 0x28], xmm0
call fcn.00439e10
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
jne 0x4516d2
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x70], 7
mov dword [esp + 0x6c], eax
mov word [esp + 0x5c], ax
mov byte [esp + 0xb4], 4
lea eax, [esp + 0x5c]
push eax
push 0
mov ecx, edi
call fcn.00451960
mov byte [esp + 0xb4], 1
cmp dword [esp + 0x70], 8
jb 0x4516b0
push dword [esp + 0x5c]
call fcn.005472b4
add esp, 4
mov esi, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x70], 7
xor bl, bl
mov dword [esp + 0x6c], 0
mov word [esp + 0x5c], ax
jmp 0x4518fe
xorps xmm0, xmm0
mov byte [esp + 0x1b], 1
push 0x10000
mov dword [esp + 0x5c], 0
movlpd qword [esp + 0x30], xmm0
call fcn.004ca65e
mov ebx, eax
add esp, 4
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
jmp 0x451710
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x451875
test ebx, ebx
je 0x451859
cmp dword [esi], 0xffffffff
je 0x451875
push 0
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], 0
push eax
push 0x10000
push ebx
push dword [esi]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x451859
cmp byte [edi + 8], 0
jne 0x4517cb
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x451855
mov eax, dword [edi]
push ecx
push ebx
mov ecx, edi
call dword [eax + 4]
mov ecx, dword [esp + 0x2c]
add ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x20]
mov ebp, dword [edi + 4]
adc eax, 0
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], eax
test ebp, ebp
je 0x4517be
mov esi, dword [ebp]
mov edx, eax
call fcn.0055225e
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
movsd qword [esp + 0x4c], xmm0
call fcn.0055225e
movsd xmm1, qword [esp + 0x4c]
sub esp, 8
divsd xmm1, xmm0
mov ecx, ebp
movsd qword [esp], xmm1
call dword [esi]
mov dword [esp + 0x58], 0
jmp 0x451710
xor eax, eax
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov byte [esp + 0xb4], 5
lea eax, [esp + 0x74]
push eax
push 0
mov ecx, edi
call fcn.00451960
xor al, al
mov byte [esp + 0x1b], al
mov byte [esp + 0xb4], 1
cmp dword [esp + 0x88], 8
jb 0x451838
push dword [esp + 0x74]
call fcn.005472b4
add esp, 4
xor eax, eax
mov dword [esp + 0x88], 7
mov dword [esp + 0x84], 0
mov word [esp + 0x74], ax
mov esi, dword [esp + 0x1c]
mov eax, dword [esi]
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp eax, 0xffffffff
je 0x45187b
push eax
call ebp
test eax, eax
je 0x45187b
mov dword [esi], 0xffffffff
jmp 0x45187b
mov ebp, dword [sym.imp.KERNEL32.dll_CloseHandle]
push ebx
call fcn.005ad770
mov eax, dword [edi]
add esp, 4
mov ecx, edi
call dword [eax + 8]
xor eax, eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x48], 7
mov dword [esp + 0x44], 0
mov word [esp + 0x34], ax
mov byte [esp + 0xb4], 6
lea eax, [esp + 0x34]
push eax
push 1
mov ecx, edi
call fcn.00451960
mov byte [esp + 0xb4], 1
cmp dword [esp + 0x48], 8
jb 0x4518e3
push dword [esp + 0x34]
call fcn.005472b4
add esp, 4
mov bl, byte [esp + 0x1b]
xor eax, eax
mov dword [esp + 0x48], 7
mov dword [esp + 0x44], 0
mov word [esp + 0x34], ax
mov dword [esp + 0xb4], 0xffffffff
test esi, esi
je 0x451932
mov ecx, dword [esi]
cmp ecx, 0xffffffff
je 0x451921
test ecx, ecx
je 0x451921
push ecx
call ebp
mov dword [esi], 0
push esi
call fcn.005472b4
add esp, 4
mov dword [esp + 0x1c], 0
mov al, bl
mov ecx, dword [esp + 0xac]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.005472b9
add esp, 0xa4
ret 4