Function at 0x58d7c0
Capabilities:
Access peb ldr_data
Get number of processors
Get process heap flags
Query or enumerate registry value
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x138
mov esi, esp
mov dword [esi + 0x18], ebp
mov eax, dword [ebp + 8]
mov dword [esi + 0x30], eax
mov dword [esi + 0x34], eax
mov eax, esp
mov dword [esi + 0x124], eax
mov dword [esi + 0x130], 0xffffffff
lea eax, [esi + 0x128]
mov dword [esi + 0x12c], 0x58ef10
mov ecx, dword fs:[0]
mov dword [esi + 0x128], ecx
mov dword fs:[0], eax
mov byte [esi + 0xef], 0
mov dword [esi + 0x38], 0
mov dword [esi + 0x3c], 0
mov byte [esi + 0xef], 1
mov eax, esp
lea ecx, [esi + 0x40]
mov dword [eax], ecx
call fcn.00580e20
mov dword [esi + 0x11c], str.Counter_009
mov dword [esi + 0x120], 0xc
mov dword [esi + 0x104], 0
mov dword [esi + 0x108], 0
mov dword [esi + 0x10c], 0
mov dword [esi + 0x110], 0
mov eax, esp
lea ecx, [esi + 0x38]
mov dword [eax + 0x14], ecx
lea ecx, [esi + 0x3c]
mov dword [eax + 0xc], ecx
mov dword [eax + 0x10], 0
mov dword [eax + 8], 0
mov dword [eax + 4], str.Counter_009
mov dword [eax], 0x80000004
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov dword [esi + 0xf0], eax
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x130], 0
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esi + 0x64]
mov dword [eax], ecx
mov dword [eax + 8], 0x60bab4
call fcn.0059e890
jmp 0x58d8d2
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x130], 1
mov eax, esp
mov dword [eax + 4], ecx
lea ecx, [esi + 0x64]
mov dword [eax], ecx
call fcn.005a0ab0
jmp 0x58d8f0
mov dword [esi + 0x114], str.Counter_009
mov dword [esi + 0x118], 0xc
mov dword [esi + 0xfc], 0
mov dword [esi + 0x100], 0
mov eax, esp
lea ecx, [esi + 0x64]
mov dword [eax], ecx
call fcn.0059ed00
mov dword [esi + 0x2c], eax
jmp 0x58d929
mov ecx, dword [esi + 0x2c]
mov eax, esp
lea edx, [esi + 0x38]
mov dword [eax + 0x14], edx
mov dword [eax + 0x10], ecx
lea ecx, [esi + 0x3c]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], 0
mov dword [eax + 4], str.Counter_009
mov dword [eax], 0x80000004
call sub.advapi32.dll_RegQueryValueExA
sub esp, 0x18
mov dword [esi + 0xf4], eax
mov eax, esp
lea ecx, [esi + 0x64]
mov dword [eax], ecx
call fcn.005a1b00
mov dword [esi + 0x24], edx
mov dword [esi + 0x28], eax
jmp 0x58d973
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0xb8]
mov dword [eax], ecx
call fcn.0058a910
jmp 0x58d990
mov eax, esp
lea ecx, [esi + 0xb8]
mov dword [eax + 4], ecx
lea ecx, [esi + 0xac]
mov dword [eax], ecx
call fcn.005a2870
jmp 0x58d9aa
mov eax, esp
lea ecx, [esi + 0xac]
mov dword [eax + 4], ecx
lea ecx, [esi + 0xa0]
mov dword [eax], ecx
call fcn.00585400
jmp 0x58d9c4
mov dword [esi + 0x130], 2
mov eax, esp
lea ecx, [esi + 0xa0]
mov dword [eax], ecx
call fcn.005a1b10
mov dword [esi + 0x1c], edx
mov dword [esi + 0x20], eax
jmp 0x58d9e5
mov ecx, dword [esi + 0x20]
mov edx, dword [esi + 0x1c]
mov eax, esp
mov dword [eax + 8], edx
mov dword [eax + 4], ecx
lea ecx, [esi + 0x94]
mov dword [eax], ecx
mov dword [eax + 0x10], 0x60bac4
mov dword [eax + 0xc], 2
call fcn.0058a940
jmp 0x58da10
mov eax, esp
lea ecx, [esi + 0x94]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x88]
mov dword [eax], ecx
call fcn.005a2840
jmp 0x58da2a
mov eax, esp
lea ecx, [esi + 0x88]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x7c]
mov dword [eax], ecx
call fcn.005852f0
jmp 0x58da41
mov eax, esp
lea ecx, [esi + 0x7c]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x70]
mov dword [eax], ecx
call fcn.005a5640
jmp 0x58da55
mov eax, dword [esi + 0x70]
mov dword [esi + 0xc4], eax
mov eax, dword [esi + 0x74]
mov dword [esi + 0xc8], eax
mov eax, dword [esi + 0x78]
mov dword [esi + 0xcc], eax
mov eax, esp
lea ecx, [esi + 0xc4]
mov dword [eax + 4], ecx
lea ecx, [esi + 0xd0]
mov dword [eax], ecx
call fcn.005a3d10
jmp 0x58da8a
cmp dword [esi + 0xd4], 0x80000000
sete al
test al, 1
jne 0x58da9d
jmp 0x58dab8
mov dword [esi + 0x130], 1
mov eax, esp
lea ecx, [esi + 0xa0]
mov dword [eax], ecx
call fcn.0057d330
jmp 0x58dafa
mov ecx, dword [esi + 0xd0]
mov dword [esi + 0xf8], ecx
mov eax, dword [esi + 0xdc]
mov dword [esi + 0xe8], eax
movsd xmm0, qword [esi + 0xd4]
movsd qword [esi + 0xe0], xmm0
mov eax, esp
mov dword [eax + 8], ecx
lea ecx, [esi + 0xe0]
mov dword [eax + 4], ecx
lea ecx, [esi + 0x40]
mov dword [eax], ecx
call fcn.00581500
jmp 0x58db62
mov eax, dword [esi + 0x30]
mov byte [esi + 0xef], 0
movsd xmm0, qword [esi + 0x58]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esi + 0x50]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esi + 0x40]
movsd xmm1, qword [esi + 0x48]
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [esi + 0x130], 0
mov eax, esp
lea ecx, [esi + 0x64]
mov dword [eax], ecx
call fcn.005b0520
jmp 0x58db43
mov eax, dword [esi + 0x34]
mov byte [esi + 0xef], 0
mov ecx, dword [esi + 0x128]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp 0x58da70