Function at 0x458e50
Capabilities:
Enumerate pe sections
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x110
mov esi, esp
mov dword [esi + 0xf8], ebp
mov dword [esi + 0x3c], ecx
nop
mov ebx, dword [ebp + 8]
mov dword [esi + 0xfc], esp
mov dword [esi + 0x108], 0xffffffff
lea eax, [esi + 0x100]
mov dword [esi + 0x104], 0x46f520
mov ecx, dword fs:[0]
mov dword [esi + 0x100], ecx
mov dword fs:[0], eax
lea edi, [esi + 0x60]
mov ecx, edi
push 1
call fcn.00459dd0
mov dword [esi + 0x108], 3
mov ecx, edi
push ebx
call fcn.00459f90
lea ecx, [esi + 0x64]
lea eax, [esi + 0x48]
push eax
call fcn.004623d0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 0
mov eax, dword [esi + 0x48]
mov edi, dword [esi + 0x58]
mov ecx, dword [esi + 0x5c]
cmp ecx, 8
lea ebx, [esi + 0x48]
mov edx, ebx
cmovae edx, eax
cmp edi, 8
nop
mov dword [esi + 4], edi
jae 0x458f88
cmp ecx, 8
cmovae ebx, eax
movzx eax, byte [edx]
mov byte [esi + 0x1c], al
movzx eax, byte [ebx + 1]
mov byte [esi + 0x1d], al
movzx eax, byte [ebx + 2]
mov byte [esi + 0x1e], al
movzx eax, byte [ebx + 3]
mov byte [esi + 0x1f], al
movzx eax, byte [ebx + 4]
mov byte [esi + 0x20], al
movzx eax, byte [ebx + 5]
mov byte [esi + 0x21], al
movzx eax, byte [ebx + 6]
mov byte [esi + 0x22], al
movzx eax, byte [ebx + 7]
mov byte [esi + 0x23], al
movzx eax, byte [ebx + 8]
mov byte [esi + 0x24], al
movzx eax, byte [ebx + 9]
mov byte [esi + 0x25], al
movzx eax, byte [ebx + 0xa]
mov byte [esi + 0x26], al
movzx eax, byte [ebx + 0xb]
mov byte [esi + 0x27], al
movzx eax, byte [ebx + 0xc]
mov byte [esi + 0x28], al
movzx eax, byte [ebx + 0xd]
mov byte [esi + 0x29], al
movzx eax, byte [ebx + 0xe]
mov byte [esi + 0x2a], al
movzx eax, byte [ebx + 0xf]
mov byte [esi + 0x2b], al
lea eax, [esi + 0x1c]
mov dword [esi + 0x2c], edi
mov dword [esi + 0x30], 7
mov dword [esi + 0x18], 0x75156c
jmp 0x459111
mov dword [esi + 8], edx
mov ecx, edi
or ecx, 7
cmp ecx, 0x7ffffffe
mov eax, 0x7ffffffe
cmovb eax, ecx
mov dword [esi + 0x10], eax
add eax, eax
cmp ecx, 0x7ff
jb 0x458fda
cmp ecx, 0x7fffffee
jae 0x4595a2
add eax, 0x25
mov dword [esi + 0x108], 4
push eax
call fcn.0071993d
add esp, 4
mov ecx, eax
add eax, 0x23
and eax, 0xffffffe0
mov dword [eax - 4], ecx
jmp 0x458ff0
add eax, 2
mov dword [esi + 0x108], 4
push eax
call fcn.0071993d
add esp, 4
mov dword [esi + 0x1c], eax
mov ecx, dword [esi + 4]
lea ecx, [ecx*2 + 2]
xor edx, edx
mov dword [esi + 0xc], ecx
cmp ecx, 8
jb 0x459087
mov edi, eax
mov ecx, dword [esi + 8]
sub edi, ecx
cmp edi, 0x20
nop
mov ebx, dword [esi + 0xc]
jb 0x459087
xor edx, edx
cmp ebx, 0x20
jb 0x45905a
mov edx, ebx
and edx, 0xffffffe0
xor edi, edi
nop dword [eax]
nop
movups xmm0, xmmword [ecx + edi]
movups xmm1, xmmword [ecx + edi + 0x10]
movups xmmword [eax + edi], xmm0
movups xmmword [eax + edi + 0x10], xmm1
add edi, 0x20
cmp edx, edi
jne 0x459030
mov ebx, dword [esi + 0xc]
cmp ebx, edx
je 0x4590fa
test bl, 0x18
je 0x459087
mov edi, edx
mov edx, ebx
and edx, 0xfffffff8
nop word cs:[eax + eax]
nop
movsd xmm0, qword [ecx + edi]
movsd qword [eax + edi], xmm0
add edi, 8
cmp edx, edi
jne 0x459070
cmp dword [esi + 0xc], edx
je 0x4590fa
mov ecx, dword [esi + 4]
lea edi, [ecx + ecx]
or edi, 1
sub edi, edx
mov dword [esi + 0x38], edi
test cl, 1
jne 0x4592d6
mov ebx, 2
mov edi, dword [esi + 8]
nop word cs:[eax + eax]
nop
movzx ecx, byte [edi + edx]
mov byte [eax + edx], cl
inc edx
dec ebx
jne 0x4590b0
cmp dword [esi + 0x38], 3
mov ebx, dword [esi + 0xc]
jb 0x4590fa
nop word cs:[eax + eax]
nop
movzx ecx, byte [edi + edx]
mov byte [eax + edx], cl
movzx ecx, byte [edi + edx + 1]
mov byte [eax + edx + 1], cl
movzx ecx, byte [edi + edx + 2]
mov byte [eax + edx + 2], cl
movzx ecx, byte [edi + edx + 3]
mov byte [eax + edx + 3], cl
add edx, 4
cmp ebx, edx
jne 0x4590d0
nop
mov eax, dword [esi + 4]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x30], eax
mov dword [esi + 0x18], 0x75156c
mov eax, dword [esi + 0x1c]
nop
mov edi, dword [esi + 0x3c]
mov ecx, dword [edi + 0x14]
mov ebx, dword [edi + 0x18]
mov edx, ebx
sub edx, ecx
cmp edx, dword [esi + 4]
lea edx, [edi + 4]
jae 0x459159
nop
mov dword [esi + 0x108], 5
sub esp, 0x10
mov edi, edx
movzx edx, byte [esi + 0x40]
mov byte [esp + 4], dl
mov ecx, dword [esi + 4]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp], ecx
mov ecx, edi
call fcn.00459820
jmp 0x459437
nop
mov dword [esi + 0xc], edx
mov dword [esi + 0x10], ecx
mov edx, dword [esi + 4]
add ecx, edx
mov dword [esi + 0x38], ecx
mov dword [edi + 0x14], ecx
cmp ebx, 8
jb 0x459179
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + 4]
mov dword [esi + 0xc], ecx
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
lea edx, [ecx + edx*2]
mov ecx, dword [esi + 4]
lea edi, [ecx + ecx]
mov dword [esi + 8], edi
mov edi, edx
sub edi, eax
jae 0x4592bf
test ecx, ecx
mov ecx, dword [esi + 8]
je 0x45942b
cmp ecx, 1
mov ebx, ecx
adc ebx, 0
mov dword [esi + 4], ebx
xor ebx, ebx
cmp ecx, 8
jb 0x45924b
cmp edi, 0x20
mov ecx, dword [esi + 8]
jb 0x45924b
xor ebx, ebx
cmp ecx, 0x20
jb 0x45921b
mov ecx, dword [esi + 0x10]
lea edi, [ecx + ecx]
mov ebx, dword [esi + 4]
and ebx, 0xffffffe0
mov ecx, dword [esi + 0xc]
add edi, ecx
add edi, 0x10
mov ecx, ebx
xor ebx, ebx
nop word cs:[eax + eax]
nop
movups xmm0, xmmword [eax + ebx]
movups xmm1, xmmword [eax + ebx + 0x10]
movups xmmword [edi + ebx - 0x10], xmm0
movups xmmword [edi + ebx], xmm1
add ebx, 0x20
cmp ecx, ebx
jne 0x4591f0
cmp dword [esi + 8], ecx
je 0x45942b
mov ebx, ecx
test byte [esi + 4], 0x18
je 0x45924b
mov edi, ebx
mov ebx, dword [esi + 4]
and ebx, 0xfffffff8
nop word cs:[eax + eax]
nop
movsd xmm0, qword [eax + edi]
movsd qword [edx + edi], xmm0
add edi, 8
cmp ebx, edi
jne 0x459230
cmp dword [esi + 8], ebx
je 0x45942b
mov edi, ebx
mov ebx, dword [esi + 4]
mov dword [esi + 0x14], edi
and ebx, 3
je 0x45926c
mov edi, dword [esi + 0x14]
nop dword [eax + eax]
nop
movzx ecx, byte [eax + edi]
mov byte [edx + edi], cl
inc edi
dec ebx
jne 0x459260
mov ecx, dword [esi + 0x14]
sub ecx, dword [esi + 4]
cmp ecx, 0xfffffffc
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 8]
ja 0x45942b
mov ecx, dword [esi + 0xc]
lea ecx, [ecx + edx*2]
add ecx, 3
nop word [eax + eax]
nop
movzx edx, byte [eax + edi]
mov byte [ecx + edi - 3], dl
movzx edx, byte [eax + edi + 1]
mov byte [ecx + edi - 2], dl
movzx edx, byte [eax + edi + 2]
mov byte [ecx + edi - 1], dl
movzx edx, byte [eax + edi + 3]
mov byte [ecx + edi], dl
add edi, 4
cmp ebx, edi
jne 0x459290
jmp 0x45942b
test ecx, ecx
mov ecx, dword [esi + 8]
je 0x45942b
cmp ecx, 4
jae 0x4592eb
mov edi, ecx
jmp 0x4593ad
mov edi, dword [esi + 8]
cmp dword [esi + 0x38], 3
mov ebx, dword [esi + 0xc]
jae 0x4590d0
jmp 0x4590fa
mov ecx, eax
sub ecx, edx
cmp ecx, 0x10
jae 0x4592fc
mov edi, dword [esi + 8]
jmp 0x4593ad
xor edx, edx
mov ecx, dword [esi + 8]
cmp ecx, 0x10
jb 0x45935b
mov edx, dword [esi + 0x10]
lea ebx, [edx + edx]
mov edx, ecx
and edx, 0xfffffff0
add ebx, ecx
mov edi, dword [esi + 0xc]
add edi, ebx
add edi, 0xfffffff0
mov dword [esi + 0x14], edi
lea edi, [ecx + eax]
add edi, 0xfffffff0
mov dword [esi + 0x34], edi
mov ebx, ecx
and ebx, 0xfffffff0
neg ebx
xor ecx, ecx
nop
mov edi, dword [esi + 0x34]
movups xmm0, xmmword [edi + ecx]
mov edi, dword [esi + 0x14]
movups xmmword [edi + ecx], xmm0
add ecx, 0xfffffff0
cmp ebx, ecx
jne 0x459330
mov ecx, dword [esi + 8]
cmp ecx, edx
je 0x45942b
test byte [esi + 4], 6
je 0x45959a
mov edi, ecx
and edi, 0xfffffffc
mov dword [esi + 0x44], edi
mov edi, ecx
and edi, 2
mov ebx, ecx
mov ecx, dword [esi + 0x10]
lea ecx, [ebx + ecx*2]
mov ebx, dword [esi + 0xc]
add ecx, ebx
add ecx, 0xfffffffc
mov dword [esi + 4], ecx
neg edx
mov ecx, dword [esi + 0x44]
neg ecx
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 8]
add ecx, eax
add ecx, 0xfffffffc
mov dword [esi + 0x34], ecx
nop
mov ecx, dword [esi + 0x34]
mov ebx, dword [ecx + edx]
mov ecx, dword [esi + 4]
mov dword [ecx + edx], ebx
add edx, 0xfffffffc
cmp dword [esi + 0x14], edx
jne 0x459390
mov ecx, dword [esi + 0x44]
cmp dword [esi + 8], ecx
je 0x45942b
lea ecx, [edi - 1]
mov dword [esi + 4], ecx
mov ebx, edi
and ebx, 2
jne 0x4593be
mov ecx, edi
jmp 0x4593e1
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
lea edx, [ecx + edx*2]
dec edx
nop dword [eax + eax]
nop
movzx ecx, byte [eax + edi - 1]
mov byte [edx + edi], cl
lea ecx, [edi - 1]
dec ebx
mov edi, ecx
jne 0x4593d0
cmp dword [esi + 4], 3
mov edi, dword [esi + 0x10]
jb 0x45942b
mov edx, dword [esi + 0xc]
lea edx, [edx + edi*2]
dec edx
mov edi, ecx
nop word cs:[eax + eax]
nop
movzx ebx, byte [eax + ecx - 1]
mov byte [edx + ecx], bl
movzx ebx, byte [eax + ecx - 2]
mov byte [edx + ecx - 1], bl
movzx ebx, byte [eax + ecx - 3]
mov byte [edx + ecx - 2], bl
movzx ebx, byte [eax + ecx - 4]
mov byte [edx + ecx - 3], bl
add edi, 0xfffffffc
mov ecx, edi
jne 0x459400
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x38]
mov word [eax + ecx*2], 0
mov eax, dword [esi + 0x30]
cmp eax, 8
jb 0x459477
nop
mov ecx, dword [esi + 0x1c]
lea edi, [eax*2 + 2]
cmp edi, 0x1000
jb 0x45946d
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4595b2
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.0071996d
add esp, 8
nop
mov dword [esi + 0x2c], 0
mov dword [esi + 0x30], 7
mov word [esi + 0x1c], 0
mov eax, dword [esi + 0x5c]
cmp eax, 8
jb 0x4594cc
nop
mov ecx, dword [esi + 0x48]
lea edi, [eax*2 + 2]
cmp edi, 0x1000
jb 0x4594c2
nop
mov edx, dword [ecx - 4]
add ecx, 0xfffffffc
sub ecx, edx
cmp ecx, 0x20
jae 0x4595c2
add eax, eax
add eax, 0x25
mov edi, eax
mov ecx, edx
push edi
push ecx
call fcn.0071996d
add esp, 8
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 4]
mov dword [esi + eax + 0x60], 0x751628
mov eax, dword [esi + 0x60]
mov eax, dword [eax + 4]
lea ecx, [eax - 0x50]
mov dword [esi + eax + 0x5c], ecx
mov dword [esi + 0x64], 0x751d74
lea ecx, [esi + 0x64]
call fcn.0045dac0
mov dword [esi + 0x64], 0x751e44
mov ebx, dword [esi + 0x98]
test ebx, ebx
je 0x45955d
mov edi, dword [ebx + 4]
test edi, edi
je 0x459547
nop
mov eax, dword [edi]
mov ecx, dword [eax + 8]
mov dword [esi + 4], ecx
mov dword [esi + 0x108], 0xffffffff
call dword [0x834360]
mov ecx, edi
call dword [esi + 4]
test eax, eax
je 0x459547
nop
mov ecx, dword [eax]
mov edi, dword [ecx]
mov ecx, edi
mov dword [esi + 4], eax
call dword [0x834360]
mov ecx, dword [esi + 4]
push 1
call edi
nop
push 8
push ebx
call fcn.0071996d
add esp, 8
mov dword [esi + 0x108], 2
mov dword [esi + 0xb0], 0x751858
mov dword [esi + 0x108], 2
lea eax, [esi + 0xb0]
push eax
call fcn.0071af3f
add esp, 4
nop
mov eax, dword [esi + 0x100]
mov dword fs:[0], eax
mov eax, dword [esi + 0x3c]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 4
and ecx, 0xe
jmp 0x4592cf
nop
mov dword [esi + 0x108], 4
call fcn.00455870
nop
mov dword [esi + 0x108], 0
call fcn.006fce21
nop
mov dword [esi + 0x108], 1
call fcn.006fce21
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x10c]
mov ebp, dword [esi + 0xf8]
call fcn.007311e0
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x10c]
mov ebp, dword [esi + 0xf8]
call fcn.007311e0
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x10c]
mov ebp, dword [esi + 0xf8]
lea ecx, [esi + 0x18]
call fcn.004596a0
add esp, 0x10
pop ebp
ret