Function at 0x1001f8b3
Capabilities:
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
cmp dword [ebp + 0x1c], 0
jle 0x1001fe9e
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
cmp dword [ebx], 0
je 0x1001f9cb
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
xor ecx, ecx
cmp dword [ebp + 0x18], edx
jl 0x1001f91b
jg 0x1001f91a
cmp dword [ebp + 0x14], eax
jb 0x1001f91b
inc ecx
mov eax, ecx
test eax, eax
je 0x1001f9cb
fild qword [ebp + 0x14]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fild dword [ebp + 0x1c]
fstp qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x28]
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x2c
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x2c]
fild qword [ebx]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
mov ebx, dword [ebp - 0x30]
fild dword [ebx]
fstp qword [ebp - 0x40]
fadd qword [ebp - 0x40]
fstp qword [ebp - 0x48]
fld qword [ebp - 0x28]
fsub qword [ebp - 0x48]
fcomp qword [0x1003f221]
fnstsw ax
test ah, 0x41
je 0x1001f9cb
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
fild dword [ebx]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fild qword [ebp + 0x14]
fstp qword [ebp - 0x24]
fadd qword [ebp - 0x24]
fstp qword [ebp - 0x2c]
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x30], ebx
fld qword [ebp - 0x2c]
mov ebx, dword [ebp - 0x30]
fild qword [ebx]
fstp qword [ebp - 0x38]
fsub qword [ebp - 0x38]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
call fcn.100010b7
jmp 0x1001fea8
cmp dword [ebp + 0x20], 0
je 0x1001fa1b
fild qword [ebp + 0x14]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fild dword [ebp + 0x1c]
fstp qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x28]
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp - 0x2c]
fild qword [ebx]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x28]
fsub qword [ebp - 0x34]
fcomp qword [0x1003f221]
fnstsw ax
test ah, 0x41
jne 0x1001fa1b
mov eax, 1
jmp 0x1001fa20
mov eax, 0
test eax, eax
je 0x1001fa66
fild qword [ebp + 0x14]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fild dword [ebp + 0x1c]
fstp qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x28]
mov dword [ebp - 0x2c], 0
push 0
push dword [ebp - 0x2c]
fld qword [ebp - 0x28]
call fcn.100010b7
push edx
push eax
push dword [ebp + 8]
call fcn.1001feae
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.1001c9db
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
cmp dword [ebx], 0
je 0x1001fade
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x30
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x14]
fild dword [ebx]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
mov ebx, dword [ebp - 0x18]
fild dword [ebx]
fstp qword [ebp - 0x28]
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x30]
mov dword [ebp - 0x34], esp
fld qword [ebp - 0x30]
call fcn.100010b7
push eax
xor eax, eax
call dword [sym.imp.KERNEL32.DLL_UnmapViewOfFile]
nop
nop
cmp dword [ebp - 0x34], esp
je 0x1001fade
push 0x3a1
push 0x4028b09
push 6
call fcn.10038d0c
add esp, 0xc
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x34
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x18]
fild dword [ebx]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fdiv qword [0x1003f209]
fstp qword [ebp - 0x28]
fild qword [ebp + 0x14]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
call fcn.100010b7
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov dword [ebx + 4], edx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x14], ebx
xor eax, eax
mov ebx, dword [ebp - 0x14]
cmp dword [ebx + 4], 0
jg 0x1001fb48
jl 0x1001fb47
mov ebx, dword [ebp - 0x14]
cmp dword [ebx], 0
jae 0x1001fb48
inc eax
test eax, eax
je 0x1001fb6b
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x34
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
fild dword [ebx]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fild dword [ebp + 0x1c]
fstp qword [ebp - 0x24]
fadd qword [ebp - 0x24]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
call fcn.100010b7
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x14]
fild qword [ebx]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
mov ebx, dword [ebp - 0x18]
fild qword [ebx]
fstp qword [ebp - 0x28]
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x30]
fild dword [ebp - 4]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
fsub qword [ebp - 0x30]
fcomp qword [0x1003f221]
fnstsw ax
test ah, 0x41
jne 0x1001fc1e
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x10
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x14]
fild qword [ebx]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
mov ebx, dword [ebp - 0x18]
fild qword [ebx]
fstp qword [ebp - 0x28]
fsub qword [ebp - 0x28]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
call fcn.100010b7
mov dword [ebp - 4], eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
mov ebx, dword [ebp - 0x14]
push dword [ebx + 4]
push dword [ebx]
call fcn.100217cb
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.1001d0d4
test eax, eax
je 0x1001fcd7
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 4
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0xc
mov dword [ebp - 0x1c], ebx
fild dword [ebp - 4]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fild dword [ebp - 0x10]
fstp qword [ebp - 0x2c]
fadd qword [ebp - 0x2c]
fstp qword [ebp - 0x34]
mov dword [ebp - 0x38], esp
fld qword [ebp - 0x34]
call fcn.100010b7
push eax
push dword [ebp - 0xc]
push dword [ebp - 8]
mov ebx, dword [ebp - 0x1c]
push dword [ebx]
mov ebx, dword [ebp - 0x18]
push dword [ebx]
xor eax, eax
call dword [sym.imp.KERNEL32.DLL_MapViewOfFile]
nop
nop
cmp dword [ebp - 0x38], esp
je 0x1001fccd
push 0x6a5
push 0x4028b09
push 6
call fcn.10038d0c
add esp, 0xc
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
jmp 0x1001fceb
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebx], 0
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
cmp dword [ebx], 0
jne 0x1001fd4a
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x2c
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebx], 0
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x30
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebx], 0
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov dword [ebx], 0
mov dword [ebx + 4], 0
jmp 0x1001fdaa
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp - 0x18]
fild dword [ebx]
fstp qword [ebp - 0x20]
fld qword [ebp - 0x20]
fild dword [ebp - 0x10]
fstp qword [ebp - 0x28]
fadd qword [ebp - 0x28]
fstp qword [ebp - 0x30]
fld qword [ebp - 0x30]
call fcn.100010b7
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x2c
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 4]
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x30
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x14]
mov dword [ebx], eax
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.1001cec7
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
cmp dword [ebx], 0
je 0x1001fe9e
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
xor ecx, ecx
cmp dword [ebp + 0x18], edx
jl 0x1001fdee
jg 0x1001fded
cmp dword [ebp + 0x14], eax
jb 0x1001fdee
inc ecx
mov eax, ecx
test eax, eax
je 0x1001fe9e
fild qword [ebp + 0x14]
fstp qword [ebp - 0x18]
fld qword [ebp - 0x18]
fild dword [ebp + 0x1c]
fstp qword [ebp - 0x20]
fadd qword [ebp - 0x20]
fstp qword [ebp - 0x28]
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x2c], ebx
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x2c
mov dword [ebp - 0x30], ebx
mov ebx, dword [ebp - 0x2c]
fild qword [ebx]
fstp qword [ebp - 0x38]
fld qword [ebp - 0x38]
mov ebx, dword [ebp - 0x30]
fild dword [ebx]
fstp qword [ebp - 0x40]
fadd qword [ebp - 0x40]
fstp qword [ebp - 0x48]
fld qword [ebp - 0x28]
fsub qword [ebp - 0x48]
fcomp qword [0x1003f221]
fnstsw ax
test ah, 0x41
je 0x1001fe9e
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x28
mov dword [ebp - 0x14], ebx
mov ebx, dword [ebp - 0x14]
fild dword [ebx]
fstp qword [ebp - 0x1c]
fld qword [ebp - 0x1c]
fild qword [ebp + 0x14]
fstp qword [ebp - 0x24]
fadd qword [ebp - 0x24]
fstp qword [ebp - 0x2c]
mov ebx, dword [ebp + 0x10]
mov ebx, dword [ebx]
add ebx, 0x20
mov dword [ebp - 0x30], ebx
fld qword [ebp - 0x2c]
mov ebx, dword [ebp - 0x30]
fild qword [ebx]
fstp qword [ebp - 0x38]
fsub qword [ebp - 0x38]
fstp qword [ebp - 0x40]
fld qword [ebp - 0x40]
call fcn.100010b7
jmp 0x1001fea8
mov eax, 0
jmp 0x1001fea8
mov esp, ebp
pop ebp
ret 0x1c