Function at 0x431430
Capabilities:
Write file on windows

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x78
mov esi, dword [esp + 0x8c]
movapd xmm0, xmmword [0x4f3090]
movupd xmmword [esp + 0x2c], xmm0
lea eax, [esp + 0x2c]
push eax
call dbg.ffGetCpuUsageResult
add esp, 4
test eax, eax
je 0x43147d
add esi, 0x20
push eax
push 0x4f30ea
push 0
push esi
push 0
push str.CPU_Usage
call dbg.ffPrintError
add esp, 0x18
jmp 0x431903
mov edx, dword [esp + 0x34]
test edx, edx
jle 0x431506
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc], eax
mov ecx, 0x3e7
movsd xmm3, qword [0x4f30a8]
movsd xmm4, qword [0x4f30a0]
xorpd xmm2, xmm2
xor eax, eax
mov ebx, 8
xor edi, edi
mov esi, 0x3e7
nop dword [eax + eax]
mov ebp, dword [esp + 0xc]
movsd xmm0, qword [ebp + ebx - 8]
ucomisd xmm0, xmm0
jp 0x4314f7
ucomisd xmm0, xmm3
cmova ecx, edi
addsd xmm2, xmm0
movapd xmm1, xmm0
ucomisd xmm4, xmm0
maxsd xmm1, xmm3
cmova esi, edi
minsd xmm0, xmm4
inc eax
movapd xmm3, xmm1
movapd xmm4, xmm0
inc edi
mov ebp, ebx
sar ebp, 3
add ebx, 8
cmp ebp, edx
jl 0x4314c0
jmp 0x431526
xor eax, eax
xorpd xmm2, xmm2
movsd xmm4, qword [0x4f30a0]
movsd xmm3, qword [0x4f30a8]
mov esi, 0x3e7
mov ecx, 0x3e7
mov dword [esp + 0x44], ecx
mov dword [esp + 0x40], esi
movd xmm0, eax
por xmm0, xmmword [0x4f30b0]
subsd xmm0, qword [0x4f30c0]
divsd xmm2, xmm0
mov ebp, dword [esp + 0x8c]
lea esi, [ebp + 0x20]
cmp dword [ebp + 0x3c], 0
je 0x4316f8
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, dword [0x5052b0]
mov dword [esp + 8], eax
movzx eax, word [ebp + 0x49]
mov word [esp + 0x14], ax
sub esp, 0x14
mov word [esp + 0xc], ax
movsd qword [esp + 4], xmm2
lea edi, [esp + 0x14]
mov dword [esp], edi
mov dword [esp + 0x10], 0
movsd qword [esp + 0x20], xmm3
movsd qword [esp + 0x84], xmm4
call dbg.ffPercentAppendNum
add esp, 0x14
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov eax, dword [0x5052b0]
mov dword [esp + 0x1c], eax
movzx eax, word [ebp + 0x49]
mov word [esp + 0x20], ax
sub esp, 0x14
mov word [esp + 0xc], ax
movsd xmm0, qword [esp + 0x84]
movsd qword [esp + 4], xmm0
lea ebx, [esp + 0x28]
mov dword [esp], ebx
mov dword [esp + 0x10], 0
call dbg.ffPercentAppendNum
add esp, 0x14
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov eax, dword [0x5052b0]
mov dword [esp + 0x28], eax
movzx eax, word [ebp + 0x49]
mov word [esp + 0x3c], ax
sub esp, 0x14
mov word [esp + 0xc], ax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 4], xmm0
lea ebp, [esp + 0x34]
mov dword [esp], ebp
mov dword [esp + 0x10], 0
call dbg.ffPercentAppendNum
add esp, 0x14
mov dword [esp + 0x48], 7
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], 7
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], 1
lea eax, [esp + 0x44]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], 7
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], 1
lea eax, [esp + 0x40]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x48]
push eax
push 5
push 0
push esi
push 0
push str.CPU_Usage
call dbg.ffPrintFormat
add esp, 0x18
cmp dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
je 0x4316cc
mov dword [esp + 0x20], 0
push dword [esp + 0x28]
call sym._free
add esp, 4
cmp dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
je 0x4318e2
mov dword [esp + 0x14], 0
push dword [esp + 0x1c]
call sym._free
add esp, 4
jmp 0x4318e2
movsd qword [esp + 0xc], xmm2
push 0
push esi
push 0
push str.CPU_Usage
call dbg.ffPrintLogoAndKey
add esp, 0x10
mov dword [esp], 0
mov dword [esp + 4], 0
mov eax, dword [0x5052b0]
mov dword [esp + 8], eax
cmp byte [ebp + 0x48], 0
mov esi, ebp
je 0x431822
cmp dword [esp + 0x34], 0
jle 0x4318b7
mov ebx, dword [esp + 0x2c]
mov ebp, esp
jmp 0x4317aa
mov eax, dword [esp + 8]
mov dword [esp + 4], esi
mov byte [eax + edi], 0x20
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov byte [ecx + eax], 0
mov esi, dword [esp + 0x8c]
movsd xmm0, qword [ebx]
movzx eax, word [esi + 0x49]
mov word [esp + 0x14], ax
sub esp, 0x14
mov word [esp + 0xc], ax
movsd qword [esp + 4], xmm0
mov dword [esp], ebp
mov dword [esp + 0x10], 0
call dbg.ffPercentAppendNum
add esp, 0x14
add ebx, 8
mov eax, ebx
sub eax, dword [esp + 0x2c]
sar eax, 3
cmp eax, dword [esp + 0x34]
jge 0x4318b7
mov edi, dword [esp + 4]
test edi, edi
je 0x431766
mov eax, dword [esp]
test eax, eax
je 0x4317c0
lea esi, [edi + 1]
cmp eax, esi
jne 0x431747
cmp eax, 2
mov ecx, eax
mov edx, 0x20
cmovb ecx, edx
lea edx, [edi + 2]
mov ebp, ecx
add ecx, ecx
cmp edx, ebp
ja 0x4317d0
test eax, eax
je 0x4317f2
push ebp
push dword [esp + 0xc]
call sym._realloc
add esp, 8
mov edi, dword [esp + 4]
lea esi, [edi + 1]
jmp 0x431814
push ebp
call sym._malloc
add esp, 4
mov dword [esp + 0xc], eax
lea esi, [edi + 1]
push esi
push dword [esp + 0xc]
push eax
call sym._memcpy
mov eax, dword [esp + 0x18]
add esp, 0xc
mov dword [esp + 8], eax
mov dword [esp], ebp
mov ebp, esp
jmp 0x43174b
movzx eax, byte [0x5063e6]
test al, 2
je 0x431860
movzx eax, word [esi + 0x49]
mov word [esp + 0x14], ax
sub esp, 0x10
mov word [esp + 0xc], ax
movsd xmm0, qword [esp + 0x1c]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x10]
mov dword [esp], eax
call dbg.ffPercentAppendBar
add esp, 0x10
movzx eax, byte [0x5063e6]
test al, 1
je 0x4318b7
cmp dword [esp + 4], 0
je 0x431882
mov eax, esp
push 0x20
push eax
call sym._ffStrbufAppendC
add esp, 8
cmp dword [esp + 4], 0
setne al
jmp 0x431884
xor eax, eax
movzx ecx, word [esi + 0x49]
mov word [esp + 0x14], cx
sub esp, 0x14
mov word [esp + 0xc], cx
movzx eax, al
mov dword [esp + 0x10], eax
movsd xmm0, qword [esp + 0x20]
movsd qword [esp + 4], xmm0
lea eax, [esp + 0x14]
mov dword [esp], eax
call dbg.ffPercentAppendNum
add esp, 0x14
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
mov esi, eax
push eax
push dword [esp + 8]
push 1
push dword [esp + 0x14]
call sym._fwrite
add esp, 0x10
push esi
push 0xa
call sym._fputc
add esp, 8
cmp dword [esp], 0
mov dword [esp + 4], 0
je 0x431903
mov dword [esp], 0
push dword [esp + 8]
call sym._free
add esp, 4
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x431924
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
push eax
call sym._free
add esp, 4
add esp, 0x78
pop esi
pop edi
pop ebx
pop ebp
ret