Function at 0x44d8d0
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, 0x19c
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x38], 0
mov esi, ecx
mov dword [ebp - 8], ebx
push edi
mov ecx, 0x800
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x178], ebx
call fcn.004baba0
mov edi, eax
mov dword [ebp - 0x30], edi
test edi, edi
je 0x44fa1f
mov eax, dword [esi]
push 0x400
push edi
push 2
push esi
call dword [eax + 0x38]
test eax, eax
js 0x44fa1f
mov dword [ebp - 0x13c], 2
mov edx, 0x67
mov eax, 0x52
mov ecx, 0x70
mov word [ebp - 0x138], ax
mov eax, 0x64
mov word [ebp - 0x136], cx
mov word [ebp - 0x134], dx
mov word [ebp - 0x132], ax
mov eax, 0x6c
mov word [ebp - 0x130], dx
mov word [ebp - 0x12e], cx
mov word [ebp - 0x12c], dx
mov word [ebp - 0x12a], ax
mov eax, 0x61
mov word [ebp - 0x128], ax
mov eax, 0x71
mov word [ebp - 0x126], dx
mov word [ebp - 0x124], ax
mov eax, 2
mov word [ebp - 0x122], ax
movzx eax, word [0x4025e0]
xor eax, 2
mov word [ebp - 0x120], ax
movzx eax, word [0x4025e2]
xor eax, 2
mov word [ebp - 0x11e], ax
movzx eax, word [0x4025e4]
xor eax, 2
mov word [ebp - 0x11c], ax
movzx eax, word [0x4025e6]
xor eax, 2
mov word [ebp - 0x11a], ax
movzx eax, word [0x4025e8]
xor eax, 2
mov word [ebp - 0x118], ax
movzx eax, word [0x4025ea]
xor eax, 2
mov word [ebp - 0x116], ax
movzx eax, word [0x4025ec]
xor eax, 2
mov word [ebp - 0x114], ax
movzx eax, word [0x4025ee]
xor eax, 2
mov word [ebp - 0x112], ax
movzx eax, word [0x4025f0]
xor eax, 2
mov word [ebp - 0x110], ax
movzx eax, word [0x4025f2]
xor eax, 2
mov word [ebp - 0x10e], ax
movzx eax, word [0x4025f4]
xor eax, 2
mov word [ebp - 0x10c], ax
xor eax, eax
mov word [ebp - 0x10a], ax
xor edx, edx
mov ax, word [ebp - 0x138]
nop dword [eax]
mov ax, word [ebp + edx*2 - 0x138]
movzx ecx, ax
movzx eax, word [ebp - 0x13c]
xor ecx, eax
mov word [ebp + edx*2 - 0x138], cx
inc edx
cmp edx, 0x17
jb 0x44da80
xor eax, eax
mov word [ebp - 0x10a], ax
lea eax, [ebp - 0x138]
push eax
push edi
push edx
call 0x5b8fdd
test eax, eax
je 0x44fa1f
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x44db59
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 - 0x10], eax
mov edx, eax
mov dword [ebp - 0x14], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 4], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x44db3d
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 4]
imul eax, eax, 0x1000193
mov dword [ebp - 4], eax
cmp edi, ebx
jne 0x44db05
cmp eax, 0xa3e6f6c3
je 0x44f06c
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x14], ecx
cmp eax, edx
je 0x44db4e
cmp dword [ecx + 0x18], 0
jne 0x44dae7
xor ebx, ebx
mov edi, dword [ebp - 0x30]
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07dc]
test eax, eax
jne 0x44dc01
test ebx, ebx
je 0x44dbf7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x10], eax
cmp eax, ebx
je 0x44dbf7
xor ecx, ecx
mov dword [ebp - 0x14], ecx
cmp dword [eax + 0x18], ecx
je 0x44dbf7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 4], eax
nop dword [eax + eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x44dbe5
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x44dbb0
cmp edi, 0x28737e55
je 0x44f077
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
inc ecx
add eax, 4
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], eax
cmp ecx, dword [edx + 0x18]
jne 0x44dba0
xor eax, eax
mov edi, dword [ebp - 0x30]
mov dword [0x4f07dc], eax
push 0
push edi
call eax
mov eax, 0x57
mov edx, 0x6e
mov word [ebp - 0x174], ax
mov ecx, 0x7b
mov word [ebp - 0x172], dx
mov eax, 0x7d
mov word [ebp - 0x170], ax
mov eax, pe_nt_image_headers32
mov word [ebp - 0x16e], ax
mov eax, 0x78
mov word [ebp - 0x16c], ax
mov eax, 0x74
mov word [ebp - 0x16a], cx
mov word [ebp - 0x168], ax
mov eax, 0x5c
mov word [ebp - 0x166], ax
mov eax, 0x71
mov word [ebp - 0x164], ax
mov eax, 0x6a
mov word [ebp - 0x162], ax
mov eax, 0x7c
mov word [ebp - 0x160], cx
mov word [ebp - 0x15e], dx
mov word [ebp - 0x15c], ax
mov eax, 9
mov word [ebp - 0x15a], ax
movzx eax, word [0x402d28]
add eax, 9
mov word [ebp - 0x158], ax
movzx eax, word [0x402d2a]
add eax, 9
mov word [ebp - 0x156], ax
movzx eax, word [0x402d2c]
add eax, 9
mov word [ebp - 0x154], ax
movzx eax, word [0x402d2e]
add eax, 9
mov word [ebp - 0x152], ax
movzx eax, word [0x402d30]
add eax, 9
mov word [ebp - 0x150], ax
movzx eax, word [0x402d32]
add eax, 9
mov word [ebp - 0x14e], ax
movzx eax, word [0x402d34]
add eax, 9
mov word [ebp - 0x14c], ax
movzx eax, word [0x402d36]
add eax, 9
mov word [ebp - 0x14a], ax
movzx eax, word [0x402d38]
add eax, 9
mov word [ebp - 0x148], ax
movzx eax, word [0x402d3a]
add eax, 9
mov word [ebp - 0x146], ax
movzx eax, word [0x402d3c]
add eax, 9
mov word [ebp - 0x144], ax
movzx eax, word [0x402d3e]
add eax, 9
mov word [ebp - 0x142], ax
movzx eax, word [0x402d40]
add eax, 9
mov word [ebp - 0x140], ax
xor eax, eax
mov word [ebp - 0x13e], ax
xor ecx, ecx
mov ax, word [ebp - 0x174]
nop dword [eax]
nop word [eax + eax]
mov ax, word [ebp + ecx*2 - 0x174]
movzx eax, ax
add eax, 0xfffffff7
mov word [ebp + ecx*2 - 0x174], ax
inc ecx
cmp ecx, 0x1b
jb 0x44dda0
lea eax, [ebp - 0x174]
push eax
push edi
call 0x58feb8
retf
mov eax, dword [ebp - 0x14]
mov ebx, dword [eax + 0x18]
jmp 0x44db50
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, ebx
add eax, ebx
movzx eax, word [eax + edx*2]
mov eax, dword [ecx + eax*4]
add eax, ebx
jmp 0x44dbf9
or esi, 0xffffffff
mov ecx, dword [ebp - 0x108]
test ecx, ecx
je 0x44fa31
call fcn.004bb000
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x44fa3f
mov ecx, eax
call fcn.004bb000
test edi, edi
je 0x44fa4a
mov ecx, edi
call fcn.004bb000
test ebx, ebx
je 0x44fa55
mov ecx, ebx
call fcn.004bb000
cmp esi, 0xffffffff
je 0x44fa62
push esi
call fcn.00411310
call eax
mov eax, dword [ebp - 0x34]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret