Function at 0x58ff60
Capabilities:
Check for peb ntglobalflag flag
Contain obfuscated stackstrings
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x6ccf4c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x100
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x80]
mov dword [esp + 0x2c], esi
call fcn.0061aaa0
xor ebx, ebx
push 0x7e2
lea ecx, [esp + 0xac]
mov dword [esp + 0x11c], ebx
call fcn.0054f000
mov al, byte [esp + 0x17]
mov dword [esp + 0xd0], ebx
mov byte [esp + 0xcc], al
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], ebx
lea ecx, [esp + 0x10]
mov byte [esp + 0x118], 2
mov byte [esp + 0x1c], 8
mov byte [esp + 0x1d], 7
mov byte [esp + 0x1e], 0xae
mov byte [esp + 0x1f], bl
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], bl
mov byte [esp + 0x22], bl
mov byte [esp + 0x23], bl
mov byte [esp + 0x24], bl
mov byte [esp + 0x30], 3
mov byte [esp + 0x31], 2
mov byte [esp + 0x32], 0xaa
mov byte [esp + 0x33], bl
mov dword [esp + 0x28], ebx
call fcn.0061d780
mov cl, byte [esp + 0x17]
mov dword [esp + 0xe0], ebx
mov byte [esp + 0xdc], cl
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe8], ebx
mov al, 0x34
mov dl, 0x20
mov cl, 0x80
mov byte [esp + 0x118], 4
mov byte [esp + 0x4c], 0x30
mov byte [esp + 0x4d], 4
mov byte [esp + 0x4e], bl
mov byte [esp + 0x4f], 0x30
mov byte [esp + 0x50], 6
mov byte [esp + 0x51], bl
mov byte [esp + 0x52], 0x30
mov byte [esp + 0x53], bl
mov byte [esp + 0x54], 2
mov byte [esp + 0x55], 0x30
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], 3
mov byte [esp + 0x58], al
mov byte [esp + 0x59], 8
mov byte [esp + 0x5a], bl
mov byte [esp + 0x5b], al
mov byte [esp + 0x5c], 0xc
mov byte [esp + 0x5d], bl
mov byte [esp + 0x5e], al
mov byte [esp + 0x5f], dl
mov byte [esp + 0x60], bl
mov byte [esp + 0x61], al
mov byte [esp + 0x62], 0x30
mov byte [esp + 0x63], bl
mov byte [esp + 0x64], al
mov byte [esp + 0x65], 2
mov byte [esp + 0x66], bl
mov byte [esp + 0x67], al
mov byte [esp + 0x68], 3
mov byte [esp + 0x69], bl
mov byte [esp + 0x6a], al
mov byte [esp + 0x6b], cl
mov byte [esp + 0x72], dl
mov edx, dword [esi]
mov byte [esp + 0x35], cl
mov byte [esp + 0x39], cl
mov byte [esp + 0x3d], cl
mov byte [esp + 0x41], cl
mov byte [esp + 0x45], cl
mov byte [esp + 0x49], cl
mov ecx, esi
mov byte [esp + 0x6c], bl
mov byte [esp + 0x6d], al
mov byte [esp + 0x6e], 0xc0
mov byte [esp + 0x6f], bl
mov byte [esp + 0x70], al
mov byte [esp + 0x71], bl
mov byte [esp + 0x73], al
mov byte [esp + 0x74], bl
mov byte [esp + 0x75], 0x30
mov byte [esp + 0x76], al
mov byte [esp + 0x77], bl
mov byte [esp + 0x78], 8
mov byte [esp + 0x79], al
mov byte [esp + 0x7a], bl
mov byte [esp + 0x7b], 0xc
mov byte [esp + 0x34], 0xc
mov byte [esp + 0x36], 0x19
mov byte [esp + 0x37], bl
mov byte [esp + 0x38], 0x25
mov byte [esp + 0x3a], 0x32
mov byte [esp + 0x3b], bl
mov byte [esp + 0x3c], 0x3e
mov byte [esp + 0x3e], 0x4b
mov byte [esp + 0x3f], bl
mov byte [esp + 0x40], 0x57
mov byte [esp + 0x42], 0x64
mov byte [esp + 0x43], bl
mov byte [esp + 0x44], 0x70
mov byte [esp + 0x46], 0x7d
mov byte [esp + 0x47], bl
mov byte [esp + 0x48], 0x89
call dword [edx + 0x18]
test ax, ax
jne 0x5901cb
lea ecx, [esp + 0x10]
mov byte [esp + 0x118], 2
call fcn.0061d8c0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x118], bl
call fcn.0054f030
lea ecx, [esp + 0x80]
mov dword [esp + 0x118], 0xffffffff
call fcn.0061ab90
xor ax, ax
jmp 0x5909c1
cmp byte [0x72bd0c], bl
je 0x590220
push ecx
mov ecx, esp
mov dword [esp + 0x80], esp
push ebx
call fcn.0061d7b0
add esi, 0x8c
mov ecx, esi
call fcn.0061dab0
mov ebp, 0xf
call fcn.006a7255
cdq
mov ecx, 0xff
idiv ecx
mov ecx, esi
mov edi, edx
call fcn.0061dc40
cmp ax, 0xf
jg 0x590219
push edi
mov ecx, esi
call fcn.0061dc20
dec ebp
jne 0x5901f5
mov esi, dword [esp + 0x2c]
cmp byte [esp + 0x120], 8
jne case.default.0x59069c
push 8
mov ecx, esi
call fcn.00590a10
push ebx
push ebx
mov ecx, 0x72baa8
mov dword [esp + 0x30], eax
call fcn.00623e40
push ebx
lea edx, [esp + 0x34]
push 1
lea eax, [esp + 0xf4]
push edx
push eax
lea ecx, [esp + 0xb8]
call fcn.00551050
lea ecx, [esp + 0xec]
call fcn.0061ab90
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x18]
test ax, ax
jne 0x5902be
lea ecx, [esp + 0x10]
mov byte [esp + 0x118], 2
call fcn.0061d8c0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x118], bl
call fcn.0054f030
lea ecx, [esp + 0x80]
mov dword [esp + 0x118], 0xffffffff
call fcn.0061ab90
xor ax, ax
jmp 0x5909c1
push 0x3e8
call fcn.0041afd0
add esp, 4
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x714340
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e250
mov al, byte [esp + 0x120]
push ebx
push ecx
cmp al, 8
mov ecx, esp
jae 0x590324
mov dword [esp + 0x34], esp
push 6
push 0x713784
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x71377c
jmp 0x59034e
mov dword [esp + 0x34], esp
push 6
push 0x713794
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x71378c
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
push ebx
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x713774
call fcn.0061d820
mov ecx, dword [0x72baec]
call fcn.0062e3d0
sub esp, 0x10
lea eax, [esp + 0x20]
mov edi, esp
mov dword [esp + 0x3c], esp
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push eax
call fcn.0061d790
push edi
call fcn.0061ca80
add esp, 4
mov byte [esp + 0x12c], 5
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x71379c
call fcn.0061d820
mov ecx, dword [0x72baec]
mov byte [esp + 0x12c], 4
call fcn.0062e450
mov ecx, dword [0x72baec]
call fcn.0062e830
movsx eax, ax
sub eax, ebx
je 0x59067f
dec eax
je 0x5903f2
dec eax
je 0x59093c
jmp case.default.0x59069c
mov eax, dword [esp + 0x120]
and eax, 0xff
cmp eax, 9
ja case.default.0x59069c
xor ecx, ecx
mov cl, byte [eax + 0x5909e8]
jmp dword [ecx*4 + 0x5909dc]
cmp byte [0x72bd0c], bl
je 0x590431
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x71377c
jmp 0x590719
lea edx, [eax + eax*2]
sub esp, 0x24
mov dword [esp + 0x3c], esp
mov cx, word [esp + edx*2 + 0x70]
lea eax, [esp + edx*2 + 0x70]
mov word [esp + 0x43], cx
lea ecx, [esp + 0x40]
mov dl, byte [eax + 2]
mov eax, esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x55], dl
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
lea ecx, [esp + 0x80]
call fcn.0061b070
test ax, ax
je case.default.0x59069c
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x71377c
jmp 0x590719
mov edx, dword [esp + 0x28]
push 5
push ebx
push edx
mov ecx, esi
call fcn.00590ec0
mov cl, byte [0x72bd0c]
mov dword [esp + 0x28], eax
cmp cl, bl
je 0x5904eb
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x7153d4
call fcn.0061d820
lea ecx, [esp + 0x14]
call fcn.0061dab0
mov al, byte [esp + 0x28]
lea ecx, [esp + 0x10]
add al, 4
push eax
push 5
call fcn.0061dbc0
jmp case.default.0x59069c
sub esp, 0x24
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x3c], esp
push ebx
add al, 8
push 1
push edx
shl al, 4
push ecx
lea ecx, [esp + 0xdc]
mov byte [esp + 0x54], al
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
lea ecx, [esp + 0x80]
call fcn.0061b070
test ax, ax
je case.default.0x59069c
lea eax, [esp + 0xa4]
lea ecx, [esp + 0x80]
push eax
call fcn.0061afb0
push 4
mov ecx, eax
mov byte [esp + 0x11c], 7
call fcn.0061daa0
lea ecx, [esp + 0xa4]
mov byte [esp + 0x17], al
mov byte [esp + 0x118], 4
call fcn.0061d8c0
cmp byte [esp + 0x17], 0xee
jne case.default.0x59069c
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x7153d4
call fcn.0061d820
lea ecx, [esp + 0x14]
call fcn.0061dab0
mov cl, byte [esp + 0x28]
add cl, 4
push ecx
push 5
lea ecx, [esp + 0x18]
call fcn.0061dbc0
jmp case.default.0x59069c
mov dx, word [0x71e478]
push 0xc
push ebx
push edx
mov ecx, esi
call fcn.00590ec0
mov cl, byte [0x72bd0c]
movsx eax, ax
cmp cl, bl
mov dword [0x71e478], eax
je 0x5905df
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
jmp 0x590878
cmp eax, 1
je case.default.0x59069c
mov cl, byte [esp + eax*2 + 0x30]
mov dl, byte [esp + eax*2 + 0x31]
sub esp, 0x24
mov byte [esp + 0x47], cl
mov eax, esp
mov dword [esp + 0x3c], esp
push ebx
lea ecx, [esp + 0x44]
push 1
push ecx
push eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x53], 0x38
mov byte [esp + 0x54], 0x40
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x58], dl
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
lea ecx, [esp + 0x80]
call fcn.0061b070
test ax, ax
je case.default.0x59069c
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x7153d4
call fcn.0061d820
lea ecx, [esp + 0x14]
call fcn.0061dab0
mov dl, byte [0x71e478]
lea ecx, [esp + 0x10]
add dl, 0x16
push edx
push 5
call fcn.0061dbc0
jmp case.default.0x59069c
mov eax, dword [esp + 0x120]
and eax, 0xff
cmp eax, 9
ja case.default.0x59069c
xor ecx, ecx
mov cl, byte [eax + 0x590a00]
jmp dword [ecx*4 + 0x5909f4]
cmp byte [0x72bd0c], bl
je 0x5906b4
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
jmp 0x590712
lea edx, [eax + eax*2]
sub esp, 0x24
mov dword [esp + 0x3c], esp
mov cx, word [esp + edx*2 + 0x73]
lea eax, [esp + edx*2 + 0x73]
mov word [esp + 0x43], cx
lea ecx, [esp + 0x40]
mov dl, byte [eax + 2]
mov eax, esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x55], dl
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
lea ecx, [esp + 0x80]
call fcn.0061b070
test ax, ax
je case.default.0x59069c
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x713784
call fcn.0061d820
lea ecx, [esp + 0x14]
call fcn.0061dab0
jmp case.default.0x59069c
mov edx, dword [esp + 0x28]
push 5
push 1
push edx
mov ecx, esi
call fcn.00590ec0
mov cl, byte [0x72bd0c]
mov dword [esp + 0x28], eax
cmp cl, bl
je 0x59077d
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x7153d4
call fcn.0061d820
lea ecx, [esp + 0x14]
call fcn.0061dab0
mov al, byte [esp + 0x28]
lea ecx, [esp + 0x10]
add al, 4
push eax
push 5
call fcn.0061dbc0
jmp case.default.0x59069c
add al, 8
lea ecx, [esp + 0x80]
shl al, 4
mov byte [esp + 0x1f], 0x30
mov byte [esp + 0x20], al
call fcn.0061b090
sub esp, 0x24
lea edx, [esp + 0x40]
mov ecx, esp
mov dword [esp + 0x3c], esp
push ebx
push 1
push edx
push ecx
lea ecx, [esp + 0xdc]
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
lea ecx, [esp + 0x80]
call fcn.0061b070
test ax, ax
je case.default.0x59069c
lea eax, [esp + 0x7c]
lea ecx, [esp + 0x80]
push eax
call fcn.0061afb0
push 4
mov ecx, eax
mov byte [esp + 0x11c], 6
call fcn.0061daa0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x17], al
mov byte [esp + 0x118], 4
call fcn.0061d8c0
cmp byte [esp + 0x17], 0xee
jne case.default.0x59069c
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x7153d4
call fcn.0061d820
lea ecx, [esp + 0x14]
call fcn.0061dab0
mov cl, byte [esp + 0x28]
add cl, 4
push ecx
push 5
lea ecx, [esp + 0x18]
call fcn.0061dbc0
jmp case.default.0x59069c
mov dx, word [0x71e478]
push 0xc
push 1
push edx
mov ecx, esi
call fcn.00590ec0
mov cl, byte [0x72bd0c]
movsx eax, ax
cmp cl, bl
mov dword [0x71e478], eax
je 0x5908a5
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x7153d4
call fcn.0061d820
lea ecx, [esp + 0x14]
call fcn.0061dab0
mov al, byte [0x71e478]
lea ecx, [esp + 0x10]
add al, 0x16
push eax
push 5
call fcn.0061dbc0
jmp case.default.0x59069c
mov cl, byte [esp + eax*2 + 0x30]
mov dl, byte [esp + eax*2 + 0x31]
sub esp, 0x24
mov byte [esp + 0x47], cl
mov eax, esp
mov dword [esp + 0x3c], esp
push ebx
lea ecx, [esp + 0x44]
push 1
push ecx
push eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x53], 0x38
mov byte [esp + 0x54], 0x40
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x58], dl
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
lea ecx, [esp + 0x80]
call fcn.0061b070
test ax, ax
je case.default.0x59069c
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push 6
push 0x7153d4
call fcn.0061d820
lea ecx, [esp + 0x14]
call fcn.0061dab0
mov dl, byte [0x71e478]
lea ecx, [esp + 0x10]
add dl, 0x16
push edx
push 5
call fcn.0061dbc0
jmp case.default.0x59069c
cmp byte [0x72bd0c], bl
jne 0x590982
sub esp, 0x24
lea ecx, [esp + 0x40]
mov eax, esp
mov dword [esp + 0x3c], esp
push ebx
push 1
push ecx
push eax
lea ecx, [esp + 0xdc]
mov byte [esp + 0x54], bl
mov byte [esp + 0x55], bl
mov byte [esp + 0x56], bl
mov byte [esp + 0x57], bl
mov byte [esp + 0x58], bl
call fcn.00551050
lea ecx, [esp + 0xa4]
call fcn.0061ac40
lea ecx, [esp + 0x10]
mov byte [esp + 0x118], 2
call fcn.0061d8c0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x118], bl
call fcn.0054f030
lea ecx, [esp + 0x80]
mov dword [esp + 0x118], 0xffffffff
call fcn.0061ab90
mov ax, 1
mov ecx, dword [esp + 0x110]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x10c
ret 4