Function at 0x47da00
Capabilities:
Delete file

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x120
mov eax, dword [0x4b3008]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, dword [ebx + 0xc]
mov ecx, str._sresult.DUST.dat
push edi
mov edi, dword [ebx + 8]
cmp esi, 1
mov eax, str._sresult.UPG.dat
mov dword [ebp - 0x118], edi
cmove eax, ecx
push 0x7c1d48
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00404440
add esp, 0xc
lea eax, [ebp - 0x108]
push 0x4a6fb8
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
add esp, 8
mov dword [ebp - 0x110], eax
test eax, eax
je 0x47df29
mov edx, 0x4aa440
cmp esi, 1
mov ecx, 0x4aa488
cmove ecx, edx
push ecx
push eax
call fcn.00411e60
mov eax, dword [edi + 0x5c]
xor esi, esi
mov edi, dword [edi + 0x58]
add esp, 8
mov dword [ebp - 0x10c], esi
mov dword [ebp - 0x114], eax
cmp edi, eax
je 0x47dd9e
push 0
push 0x4b3c44
push 0x4b3b30
push 0
push dword [edi]
call sub.VCRUNTIME140.dll___RTDynamicCast
mov esi, eax
add esp, 0x14
test esi, esi
je 0x47dd89
cmp dword [esi + 0x4cb4], 5
movsd xmm0, qword [esi + 0x4c50]
movsd qword [ebp - 0x120], xmm0
je 0x47dd89
lea ecx, [esi + 0x18]
call fcn.0042ea40
cmp dword [ebx + 0xc], 1
mulsd xmm0, qword [0x4af1d8]
mov eax, dword [esi + 0x4cb4]
movsd xmm3, qword [esi + 0x30]
movsd xmm1, qword [esi + 0x48b8]
movaps xmm2, xmm3
andps xmm2, xmmword [0x4afb90]
movsd xmm4, qword [esi + 0x48]
mulsd xmm2, xmm4
mulsd xmm0, xmm1
mulsd xmm2, qword [0x4af228]
mulsd xmm0, xmm1
divsd xmm2, xmm0
jne 0x47dc1b
cmp eax, 6
jne 0x47dd89
push dword [esi + 0x4c3c]
movsd xmm1, qword [0x4aeb28]
movsd xmm0, qword [esi + 0x4bd0]
sub esp, 0x48
mulsd xmm0, xmm1
mulsd xmm3, xmm1
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [esi + 0x2420]
mulsd xmm0, xmm1
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [esi + 0x2438]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esi + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x18], xmm3
movsd qword [esp + 0x10], xmm4
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push dword [esi + 0x4818]
push str._d__lf__lf__lf__lf__lf__lf__lf__lf__lf__d_n
push dword [ebp - 0x110]
call fcn.00411e60
mov esi, 2
add esp, 0x58
mov dword [ebp - 0x10c], esi
jmp 0x47dd8f
cmp eax, 6
je 0x47dd89
movups xmm0, xmmword [esi + 0x4c68]
sub esp, 0x38
movsd xmm1, qword [0x4aeb28]
mulsd xmm3, xmm1
movups xmmword [esp + 0x28], xmm0
movsd xmm0, qword [esi + 0x4c78]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + 0x4c58]
subsd xmm0, qword [esi + 0x4c60]
mulsd xmm0, xmm1
movsd qword [esp + 0x18], xmm0
movsd xmm0, qword [esi + 0x4bd8]
mulsd xmm0, xmm1
movsd qword [esp + 0x10], xmm0
movsd xmm0, qword [esi + 0x4cb8]
movsd qword [esp + 8], xmm2
movsd qword [esp], xmm0
push dword [esi + 0x4c3c]
movsd xmm0, qword [esi + 0x4bd0]
mulsd xmm0, xmm1
sub esp, 0x68
movsd qword [esp + 0x60], xmm0
movsd xmm0, qword [esi + 0x4c88]
movsd qword [esp + 0x58], xmm0
movsd xmm0, qword [ebp - 0x120]
movsd qword [esp + 0x50], xmm0
movsd xmm0, qword [esi + 0x4c40]
movsd qword [esp + 0x48], xmm0
movsd xmm0, qword [esi + 0x4c48]
mulsd xmm0, xmm1
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [esi + 0x2420]
mulsd xmm0, xmm1
movsd qword [esp + 0x38], xmm0
movsd xmm0, qword [esi + 0x2438]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [esi + 0x2418]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [esi + 0x2410]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp + 0x20], xmm0
movsd xmm0, qword [esi + 0x28]
subsd xmm0, qword [0x4af658]
movsd qword [esp + 0x18], xmm3
movsd qword [esp + 0x10], xmm4
movsd qword [esp + 8], xmm0
movsd xmm0, qword [esi + 0x20]
mulsd xmm0, qword [0x4ae8b0]
movsd qword [esp], xmm0
push dword [esi + 0x4818]
push str._d__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__lf__d__lf__lf__lf__lf__lf__lf__lf_n
push dword [ebp - 0x110]
call fcn.00411e60
mov esi, 1
add esp, 0xb0
mov dword [ebp - 0x10c], esi
jmp 0x47dd8f
mov esi, dword [ebp - 0x10c]
add edi, 4
cmp edi, dword [ebp - 0x114]
jne 0x47dab2
push dword [ebp - 0x110]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
test esi, esi
jne 0x47ddc3
lea eax, [ebp - 0x108]
push eax
call dword [sym.imp.api_ms_win_crt_filesystem_l1_1_0.dll_remove]
jmp 0x47df26
cmp esi, 1
jne 0x47df29
cmp dword [0x7c1e70], esi
jle 0x47df29
push 0x7c1d48
lea eax, [ebp - 0x108]
push str._sresult.UPGComp.dat
push eax
call fcn.00404440
add esp, 0xc
lea eax, [ebp - 0x108]
push 0x4a6fb8
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fopen]
mov esi, eax
add esp, 8
mov dword [ebp - 0x110], esi
test esi, esi
je 0x47df29
push 0x4a7e18
push esi
call fcn.00411e60
mov eax, dword [ebp - 0x118]
add esp, 8
mov ecx, dword [eax + 0x5c]
mov eax, dword [eax + 0x58]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x10c], eax
cmp eax, ecx
je 0x47df1f
push 0
push 0x4b3c44
push 0x4b3b30
push 0
push dword [eax]
call sub.VCRUNTIME140.dll___RTDynamicCast
mov edi, eax
add esp, 0x14
mov dword [ebp - 0x118], edi
test edi, edi
je 0x47df04
cmp dword [edi + 0x4cb4], 5
je 0x47df04
push dword [edi + 0x4818]
push 0x4a26ac
push esi
call fcn.00411e60
lea esi, [edi + 0x4b10]
add esp, 0xc
mov edi, 0x16
nop dword [eax + eax]
movsd xmm0, qword [esi]
sub esp, 8
mulsd xmm0, qword [0x4af5d0]
movsd qword [esp], xmm0
push str.__lf
push dword [ebp - 0x110]
call fcn.00411e60
add esp, 0x10
lea esi, [esi + 8]
sub edi, 1
jne 0x47dea0
mov eax, dword [ebp - 0x118]
sub esp, 8
mov esi, dword [ebp - 0x110]
movsd xmm0, qword [eax + 0x4bc0]
movsd qword [esp], xmm0
push str.__lf
push esi
call fcn.00411e60
push 0x4a7b04
push esi
call fcn.00411e60
add esp, 0x18
mov eax, dword [ebp - 0x10c]
add eax, 4
mov dword [ebp - 0x10c], eax
cmp eax, dword [ebp - 0x114]
jne 0x47de44
push esi
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.004a034d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8