Function at 0x411cb0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5ec99b
mov eax, dword fs:[0]
push eax
sub esp, 0x278
mov eax, dword [0x615cbc]
xor eax, esp
mov dword [esp + 0x270], eax
push ebx
push esi
push edi
mov eax, dword [0x615cbc]
xor eax, esp
push eax
lea eax, [esp + 0x288]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x40], edi
cmp esi, ebx
je 0x411ed7
push esi
call dword [sym.imp.MSVCR90.dll_remove]
mov eax, dword [edi + 8]
sub eax, dword [edi + 4]
add esp, 4
sar eax, 2
cmp eax, 1
jb 0x411ed7
lea ecx, [esp + 0x64]
call fcn.005c14e0
push 4
push esi
lea ecx, [esp + 0x6c]
mov dword [esp + 0x298], ebx
call fcn.005c1500
mov esi, dword [edi + 8]
sub esi, dword [edi + 4]
mov dword [esp + 0x20], ebx
sar esi, 2
mov dword [esp + 0x30], esi
cmp esi, ebx
jbe 0x411eba
fld1
fldz
fsub st(1), st(0)
fxch st(1)
fstp qword [esp + 0x34]
jmp 0x411d66
mov edi, dword [esp + 0x40]
fld qword [esp + 0x34]
mov ecx, dword [edi + 4]
mov edi, dword [ecx + ebx*4]
fst qword [esp + 0x24]
fcomp qword [0x5fb990]
fnstsw ax
test ah, 0x41
jp 0x411d87
fst qword [esp + 0x24]
jmp 0x411dab
fstp st(0)
call dword [sym.imp.MSVCR90.dll_rand]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdiv qword [0x5fa8c0]
fmul qword [esp + 0x24]
fldz
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x24]
fld qword [esp + 0x34]
fst qword [esp + 0x14]
fcomp qword [0x5fb990]
fnstsw ax
test ah, 0x41
jp 0x411dc6
fst qword [esp + 0x14]
jmp 0x411dea
fstp st(0)
call dword [sym.imp.MSVCR90.dll_rand]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdiv qword [0x5fa8c0]
fmul qword [esp + 0x14]
fldz
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x14]
fld qword [esp + 0x34]
fst qword [esp + 0x44]
fcomp qword [0x5fb990]
fnstsw ax
test ah, 0x41
jp 0x411e03
fld st(0)
jmp 0x411e23
fstp st(0)
call dword [sym.imp.MSVCR90.dll_rand]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fdiv qword [0x5fa8c0]
fmul qword [esp + 0x44]
fldz
fadd st(1), st(0)
fxch st(1)
fstp qword [esp + 0x4c]
mov eax, 0x2aaaaaab
fld qword [esp + 0x14]
fstp qword [esp + 0x54]
fld qword [esp + 0x24]
fstp qword [esp + 0x5c]
mov ecx, dword [edi + 0x18]
sub ecx, dword [edi + 0x14]
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x411eab
fstp st(0)
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], eax
lea ecx, [ecx]
mov eax, dword [edi + 0x14]
add eax, dword [esp + 0x14]
mov ecx, dword [edi + 4]
mov edx, dword [eax]
mov esi, dword [eax + 4]
mov eax, dword [eax + 8]
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
lea ebx, [esp + 0x4c]
push ebx
push eax
lea eax, [esi + esi*2]
lea eax, [ecx + eax*8]
push eax
lea edx, [edx + edx*2]
lea eax, [ecx + edx*8]
push eax
lea ecx, [esp + 0x74]
call fcn.005c15f0
add dword [esp + 0x14], 0xc
sub dword [esp + 0x10], 1
jne 0x411e60
fldz
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x30]
inc ebx
mov dword [esp + 0x20], ebx
cmp ebx, esi
jb 0x411d62
fstp st(0)
lea ecx, [esp + 0x64]
call fcn.005c1790
lea ecx, [esp + 0x64]
mov dword [esp + 0x290], 0xffffffff
call fcn.005c17f0
mov ecx, dword [esp + 0x288]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x270]
xor ecx, esp
call fcn.00423eca
mov esp, ebp
pop ebp
ret 4