Function at 0x42ab20
Capabilities:
Access peb ldr_data
Encode data using xor
Get number of processors
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x58
mov eax, dword [0x4e2040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, ecx
xor edx, edx
mov ecx, dword [ebp + 8]
push edi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x58], ecx
cmp dword [esi + 0x5c], edx
je 0x42af7d
cmp dword [esi + 0x74], edx
je 0x42af7d
mov edi, dword fs:[0x2c]
movaps xmm0, xmmword [0x4d85f0]
movups xmmword [ebp - 0x20], xmm0
mov dword [ebp - 0x10], 0x886507c
mov edi, dword [edi]
mov word [ebp - 0xc], 0xc798
mov byte [ebp - 0xa], 0x55
mov dword [ebp - 0x28], edi
mov eax, dword [edi + 0x104]
lea ebx, [edi + 0x184]
mov dword [ebp - 0x48], ebx
test al, 1
jne 0x42abcd
xorps xmm0, xmm0
mov byte [ebx + 0x17], 1
or eax, 1
movlpd qword [ebp - 0x34], xmm0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
mov dword [edi + 0x104], eax
mov al, byte [ebp + ecx - 0x20]
mov byte [ecx + ebx], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x42abbe
cmp ecx, 0x17
jb 0x42aba8
push 0x4c1c45
call fcn.004b0dd6
pop ecx
xor edx, edx
jmp 0x42abd0
mov dword [ebp - 0x48], ebx
cmp byte [ebx + 0x17], 0
je 0x42abf1
push 0x6f55cd95
push 0x7ba3590f
push edx
push 0x17
mov ecx, ebx
call fcn.00407ee8
add esp, 0x10
mov byte [ebx + 0x17], 0
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42abf6
mov eax, dword [esi + 0x74]
sub ecx, edx
sub eax, 0xffffff80
add eax, dword [esi + 0x5c]
add eax, dword [esi + 0x44]
add eax, dword [esi + 0x28]
add eax, dword [esi + 0x10]
push ecx
add eax, ecx
lea ecx, [ebp - 0x20]
push eax
call fcn.00410903
mov eax, dword [0x4e7a78]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x42acf6
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], ecx
mov edx, dword [ecx + 0x18]
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [ebp - 0x44], eax
cmp eax, edx
je 0x42acd3
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x42acd3
mov eax, dword [eax + 0x20]
lea eax, [eax + ebx*4]
add eax, edx
sub eax, 4
mov ecx, 0xd85c95f3
mov dword [ebp - 0x54], eax
dec ebx
mov dword [ebp - 0x2c], ecx
mov eax, dword [eax]
add eax, edx
mov cl, byte [eax]
inc eax
mov dword [ebp - 0x50], eax
test cl, cl
je 0x42acc9
mov esi, dword [ebp - 0x2c]
mov edi, eax
movsx eax, cl
xor eax, esi
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
mov cl, byte [edi]
imul esi, eax, 0x1000193
inc edi
test cl, cl
jne 0x42ac87
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x2c], esi
cmp dword [ebp - 0x2c], 0xf3c95ea9
mov esi, dword [ebp - 0x4c]
je 0x42ad9b
mov eax, dword [ebp - 0x54]
test ebx, ebx
jne 0x42ac65
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x40], eax
cmp eax, dword [ebp - 0x38]
je 0x42ace9
cmp dword [ecx + 0x18], 0
jne 0x42ac43
xor eax, eax
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 0x2c], eax
mov dword [0x4e7a78], eax
lea eax, [esi + 0x64]
cmp dword [eax + 0x14], 0xf
mov dword [ebp - 0x48], eax
jbe 0x42ad07
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
lea eax, [esi + 0x4c]
cmp dword [eax + 0x14], 0xf
mov dword [ebp - 0x44], eax
jbe 0x42ad18
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
lea eax, [esi + 0x34]
cmp dword [eax + 0x14], 0xf
mov dword [ebp - 0x40], eax
jbe 0x42ad29
mov eax, dword [eax]
mov dword [ebp - 0x40], eax
cmp byte [esi + 0x30], 0
je 0x42adbb
mov eax, dword [edi + 0x178]
mov dword [ebp - 0x28], 0xc07679a7
mov byte [ebp - 0x24], 0x37
test al, 1
jne 0x42ad8b
xorps xmm0, xmm0
mov byte [edi + 0x1a1], 1
movlpd qword [ebp - 0x3c], xmm0
or eax, 1
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x178], eax
mov al, byte [ebp + ecx - 0x28]
mov byte [edi + ecx + 0x19c], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x42ad80
cmp ecx, 5
jb 0x42ad66
push 0x4c1c0c
call fcn.004b0dd6
pop ecx
lea ecx, [edi + 0x19c]
call fcn.0043a4da
jmp 0x42ae30
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
jmp 0x42aceb
mov eax, dword fs:[0x2c]
mov dword [ebp - 0x28], 0xd66f6ab5
mov word [ebp - 0x24], 0x6572
mov edx, dword [eax]
mov eax, dword [edx + 0xf8]
test al, 1
jne 0x42ae1d
xorps xmm0, xmm0
mov byte [edx + 0x15a], 1
movlpd qword [ebp - 0x3c], xmm0
or eax, 1
mov edi, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [edx + 0xf8], eax
mov al, byte [ebp + ecx - 0x28]
mov byte [edx + ecx + 0x154], al
add ecx, 1
adc edi, 0
test edi, edi
jne 0x42ae12
cmp ecx, 6
jb 0x42adf8
push 0x4c1bf9
call fcn.004b0dd6
pop ecx
mov eax, dword fs:[0x2c]
mov edi, dword [eax]
lea ecx, [edi + 0x154]
call fcn.0043a48b
mov dword [ebp - 0x4c], eax
lea eax, [esi + 0x18]
cmp dword [eax + 0x14], 0xf
mov dword [ebp - 0x50], eax
jbe 0x42ae44
mov eax, dword [eax]
mov dword [ebp - 0x50], eax
cmp dword [esi + 0x14], 0xf
mov eax, esi
jbe 0x42ae4e
mov eax, dword [esi]
cmp byte [eax], 0x2e
jne 0x42aec0
mov eax, dword [edi + 0x100]
mov dword [ebp - 0x34], 0xc07679a7
mov byte [ebp - 0x30], 0x37
test al, 1
jne 0x42aeab
xorps xmm0, xmm0
mov byte [edi + 0xf5], 1
movlpd qword [ebp - 0x3c], xmm0
or eax, 1
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0x100], eax
mov al, byte [ebp + ecx - 0x34]
mov byte [edi + ecx + 0xf0], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x42aea0
cmp ecx, 5
jb 0x42ae86
push 0x4c1c32
call fcn.004b0dd6
pop ecx
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
add ecx, 0xf0
call fcn.0043a4da
jmp 0x42af2d
mov eax, dword [edi + 0xfc]
mov dword [ebp - 0x34], 0xd66f6ab5
mov word [ebp - 0x30], 0x6572
test al, 1
jne 0x42af1a
xorps xmm0, xmm0
mov byte [edi + 0x182], 1
movlpd qword [ebp - 0x3c], xmm0
or eax, 1
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x3c]
mov dword [edi + 0xfc], eax
mov al, byte [ebp + ecx - 0x34]
mov byte [edi + ecx + 0x17c], al
add ecx, 1
adc edx, 0
test edx, edx
jne 0x42af0f
cmp ecx, 6
jb 0x42aef5
push 0x4c1c1f
call fcn.004b0dd6
pop ecx
mov eax, dword fs:[0x2c]
mov ecx, dword [eax]
add ecx, 0x17c
call fcn.0043a48b
cmp dword [esi + 0x14], 0xf
mov ecx, eax
jbe 0x42af37
mov esi, dword [esi]
push dword [ebp - 0x48]
cmp dword [ebp - 0xc], 0xf
lea eax, [ebp - 0x20]
push dword [ebp - 0x44]
cmova eax, dword [ebp - 0x20]
push dword [ebp - 0x40]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push ecx
push esi
push ebx
push eax
call dword [ebp - 0x2c]
add esp, 0x24
lea ecx, [ebp - 0x20]
cmp dword [ebp - 0xc], 0xf
cmova ecx, dword [ebp - 0x20]
push eax
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.0040c352
lea ecx, [ebp - 0x20]
call fcn.0040bd96
mov eax, dword [ebp - 0x58]
jmp 0x42af93
xor eax, eax
mov edi, ecx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, ecx
mov dword [ecx + 0x10], edx
mov dword [ecx + 0x14], 0xf
mov byte [ecx], dl
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b0ce6
leave
ret 4