Function at 0x43fbd0
Capabilities:
Encode data using xor
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x44b2eb
mov eax, dword fs:[0]
push eax
sub esp, 0xe4
mov eax, dword [0x462600]
xor eax, esp
mov dword [esp + 0xe0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x462600]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov ebx, 9
mov al, 0xef
mov dword [esp + 0x18], ebx
mov byte [esp + 0x72], bl
xor ebx, ebx
mov ebp, ecx
mov edx, 5
mov byte [esp + 0x7e], al
mov byte [esp + 0x81], al
mov cl, 0xa4
mov byte [esp + 0x6e], al
xor eax, eax
mov dword [esp + 0x14], 0x13
mov dword [esp + 0x1c], 8
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 0x1d
mov dword [esp + 0x28], 0x1f
mov dword [esp + 0x2c], 0x12
mov dword [esp + 0x30], 0x16
mov dword [esp + 0x34], 0xd
mov dword [esp + 0x38], 0xf
mov dword [esp + 0x3c], 0x1c
mov dword [esp + 0x40], 4
mov dword [esp + 0x44], 0x17
mov dword [esp + 0x48], 0xc
mov dword [esp + 0x4c], 0x14
mov dword [esp + 0x50], 6
mov byte [esp + 0x78], 0x97
mov byte [esp + 0x79], 0xa9
mov byte [esp + 0x7a], 0xb0
mov byte [esp + 0x7b], 0xa5
mov byte [esp + 0x7c], 0xb1
mov byte [esp + 0x7d], 0x91
mov byte [esp + 0x7f], 0xb9
mov byte [esp + 0x80], 0xeb
mov byte [esp + 0x82], cl
mov byte [esp + 0x83], 0x8c
mov byte [esp + 0x84], 0x94
mov byte [esp + 0x85], 0xbb
mov byte [esp + 0x86], 0x98
mov byte [esp + 0x87], 0x9b
mov byte [esp + 0x68], 0x11
mov byte [esp + 0x69], 0xbd
mov byte [esp + 0x6a], 0xc5
mov byte [esp + 0x6b], 0x64
mov byte [esp + 0x6c], dl
mov byte [esp + 0x6d], 0x25
mov byte [esp + 0x6f], 0xfa
mov byte [esp + 0x70], 0xaa
mov byte [esp + 0x71], cl
mov byte [esp + 0x73], 0x3e
mov byte [esp + 0x74], 0xf3
mov byte [esp + 0x75], 0x1a
mov byte [esp + 0x76], 0x6f
mov byte [esp + 0x77], 0x57
mov byte [esp + 0xac], bl
mov dword [esp + 0xad], eax
mov dword [esp + 0xb1], eax
mov dword [esp + 0xb5], eax
mov dword [esp + 0xb9], eax
mov dword [esp + 0xbd], eax
mov dword [esp + 0xc1], eax
mov dword [esp + 0xc5], eax
mov dword [esp + 0xc9], eax
mov word [esp + 0xcd], ax
mov byte [esp + 0xcf], al
mov byte [esp + 0xd0], bl
mov dword [esp + 0xd1], eax
mov dword [esp + 0xd5], eax
mov dword [esp + 0xd9], eax
mov dword [esp + 0xdd], eax
mov dword [esp + 0xe1], eax
mov dword [esp + 0xe5], eax
mov dword [esp + 0xe9], eax
mov dword [esp + 0xed], eax
mov word [esp + 0xf1], ax
mov byte [esp + 0xf3], al
mov dword [esp + 0x89], eax
mov dword [esp + 0x8d], eax
mov dword [esp + 0x91], eax
mov dword [esp + 0x95], eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x99], eax
mov dword [esp + 0x9d], eax
mov dword [esp + 0xa1], eax
mov dword [esp + 0xa5], eax
mov word [esp + 0xa9], ax
mov byte [esp + 0xab], al
call fcn.00442bb0
mov edi, dword [0x466a20]
add edi, 0x40
mov ecx, 0x10
lea esi, [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x452f98]
mov ecx, dword [0x452f9c]
mov edx, dword [0x452fa0]
mov dword [esp + 0x88], eax
mov eax, dword [0x452fa4]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0xa0], eax
mov eax, dword [0x452fac]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x9c], edx
mov edx, dword [0x452fa8]
mov dword [esp + 0xa4], ecx
mov ecx, dword [0x452fb0]
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xac], edx
mov edx, dword [0x452fb4]
mov dword [esp + 0xb4], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xc8], eax
mov eax, dword [0x466a20]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xc0], ecx
xor ecx, ecx
mov dword [esp + 0x100], ebx
mov dword [esp + 0xc4], edx
add eax, 8
lea esp, [esp]
movzx edx, byte [esp + ecx + 0x88]
mov esi, dword [eax - 8]
xor dl, 0xdd
mov byte [esp + esi + 0xd0], dl
movzx edx, byte [esp + ecx + 0x89]
mov esi, dword [eax - 4]
xor dl, 0xdd
mov byte [esp + esi + 0xd0], dl
movzx edx, byte [esp + ecx + 0x8a]
mov esi, dword [eax]
xor dl, 0xdd
mov byte [esp + esi + 0xd0], dl
movzx edx, byte [esp + ecx + 0x8b]
mov esi, dword [eax + 4]
xor dl, 0xdd
add ecx, 4
add eax, 0x10
cmp ecx, 0x20
mov byte [esp + esi + 0xd0], dl
jl 0x43ff20
mov eax, dword [ebp + 4]
cmp eax, ebx
je 0x43ff91
push eax
call fcn.0040beef
add esp, 4
mov dword [ebp + 4], ebx
push 0x40
call fcn.0040bebf
push 0x40
push ebx
push eax
mov dword [ebp + 4], eax
call fcn.0042af00
add esp, 0x10
push 1
push 2
lea eax, [esp + 0xd8]
push eax
lea ecx, [esp + 0x60]
call fcn.00442bf0
mov ecx, dword [ebp + 4]
push 2
push ecx
lea edx, [esp + 0xb4]
push edx
lea ecx, [esp + 0x60]
call fcn.00442c90
mov ebp, dword [ebp + 4]
lea ecx, [esp + 0x54]
mov dword [esp + 0x100], 0xffffffff
call fcn.00442bd0
mov eax, ebp
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xe0]
xor ecx, esp
call fcn.00428d80
add esp, 0xf0
ret