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

Disassembly:
sub esp, 0x34
mov eax, dword [0x4c7080]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
push ebp
push esi
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0x20]
push edi
mov dword [esp + 0x24], 0xe6e0a8ff
mov word [esp + 0x28], 0x100
call fcn.004127dc
sub esp, 0x18
lea eax, [esp + 0x3c]
mov ecx, esp
push eax
call fcn.0041437c
mov ecx, 0x4c7b50
call fcn.004672fb
mov ecx, dword [0x4c7b7c]
test ecx, ecx
je 0x412754
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ebx, eax
mov dword [esp + 0x10], eax
mov ecx, eax
mov edx, dword [ebx + 0x18]
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + edx + 0x78]
add edi, edx
cmp edi, edx
je 0x411dc3
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x411dbf
mov eax, dword [edi + 0x20]
lea ebp, [eax + ecx*4]
add ebp, edx
lea ebp, [ebp - 4]
mov eax, 0xdc34705d
mov esi, dword [ebp]
dec ecx
add esi, edx
mov dword [esp + 0x14], eax
mov al, byte [esi]
inc esi
test al, al
je 0x411dbb
mov edx, dword [esp + 0x14]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [esi]
inc esi
test al, al
jne 0x411d94
mov dword [esp + 0x14], edx
cmp dword [esp + 0x14], 0xded607d
mov edx, dword [ebx + 0x18]
je 0x411ed4
test ecx, ecx
jne 0x411d77
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx]
mov ebx, eax
cmp eax, ecx
je 0x411dd1
cmp dword [ebx + 0x18], 0
jne 0x411d58
xor eax, eax
push 0
call eax
mov eax, dword fs:[0x30]
pop ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ebx, eax
mov dword [esp + 0x10], eax
mov ecx, eax
mov edx, dword [ebx + 0x18]
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + edx + 0x78]
add edi, edx
cmp edi, edx
je 0x411e59
mov ecx, dword [edi + 0x18]
test ecx, ecx
je 0x411e55
mov eax, dword [edi + 0x20]
lea ebp, [eax + ecx*4]
add ebp, edx
lea ebp, [ebp - 4]
mov eax, 0x71c9a8b1
mov esi, dword [ebp]
dec ecx
add esi, edx
mov dword [esp + 0x14], eax
mov al, byte [esi]
inc esi
test al, al
je 0x411e51
mov edx, dword [esp + 0x14]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [esi]
inc esi
test al, al
jne 0x411e2a
mov dword [esp + 0x14], edx
cmp dword [esp + 0x14], 0x2d71d451
mov edx, dword [ebx + 0x18]
je 0x411eee
test ecx, ecx
jne 0x411e0d
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx]
mov ebx, eax
cmp eax, ecx
je 0x411e67
cmp dword [ebx + 0x18], 0
jne 0x411dee
xor ebp, ebp
mov cl, byte [esp + 0x1f]
lea edi, [esp + 0x30]
mov dword [esp + 0x2c], 0x23202126
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov esi, dword [0x4cad28]
mov edi, dword [0x4cad2c]
xor edx, edx
mov dword [esp + 0x14], edx
cmp edx, 0x12
jae 0x41271f
mov bl, byte [esp + edx + 0x2c]
movzx eax, bl
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], eax
cmp esi, edx
ja 0x412716
lea eax, [edi + 0x200]
cmp esi, eax
jae 0x411f08
lea ecx, [edx - 0x7b127823]
mov al, cl
and al, byte [esp + 0x24]
add al, al
sub cl, al
sub cl, 0xb
jmp 0x41211c
mov eax, dword [edi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
jmp 0x411dd3
mov eax, dword [edi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov ebp, dword [eax + edx]
add ebp, edx
jmp 0x411e69
lea eax, [edi + 1]
cmp esi, eax
je 0x4126b4
inc eax
cmp esi, eax
je 0x41268d
lea eax, [edi + 3]
cmp esi, eax
je 0x412675
lea eax, [edi + 7]
cmp esi, eax
je 0x41265e
cmp edi, edx
ja 0x41270d
lea eax, [edi + 0x28]
cmp esi, eax
jae 0x411f59
mov al, byte [esp + 0x24]
lea ecx, [edx - 0x6cfe1887]
and al, cl
add al, al
sub cl, al
sub cl, 0x4f
jmp 0x412107
lea eax, [edi + 1]
cmp esi, eax
je 0x41262f
lea eax, [edi + 3]
cmp esi, eax
je 0x4125f8
lea eax, [edi + 5]
cmp esi, eax
je 0x4125e3
lea eax, [edi + 8]
cmp esi, eax
je 0x4125d0
lea eax, [esi + edi]
cmp eax, edx
jbe 0x412367
lea eax, [edi + 0x42]
cmp esi, eax
je 0x41234e
lea eax, [edi + 0x20]
cmp esi, eax
je 0x412334
lea eax, [edi + 9]
cmp esi, eax
je 0x41232a
lea eax, [edi + 5]
cmp esi, eax
je 0x412311
lea eax, [edi + 2]
cmp esi, eax
je 0x4122fc
lea eax, [edi + 0x5a]
cmp esi, eax
je 0x4122f2
lea eax, [edi + 0x61]
cmp esi, eax
je 0x4122d9
lea eax, [edi + 0x3e8]
cmp esi, eax
je 0x4122c0
lea eax, [edi + 0x64]
cmp esi, eax
je 0x4122a8
lea eax, [edi + 0x28]
cmp esi, eax
je 0x411f90
lea esi, [edi + 0x2a]
lea edi, [esi + 0xa]
lea eax, [edi + 0x7a]
cmp esi, eax
jb 0x4126f7
lea eax, [edi + 0x400]
cmp esi, eax
jb 0x4126e2
lea eax, [edi + 0x80]
cmp esi, eax
jb 0x412123
lea eax, [edi + 0x40]
cmp esi, eax
jb 0x41210e
lea eax, [edi + 0x10]
cmp esi, eax
jb 0x4120f9
lea eax, [edi + 8]
cmp esi, eax
jb 0x412295
lea ecx, [edi + 4]
cmp esi, ecx
jb 0x41225e
lea eax, [edi + 1]
cmp esi, eax
jb 0x412224
lea eax, [edi + 0x41]
cmp esi, eax
jb 0x41220f
lea eax, [edi + 0x1000]
cmp esi, eax
jb 0x411f90
mov esi, ecx
lea edi, [esi + 0x200]
lea eax, [edi + 1]
cmp esi, eax
ja 0x4121fc
lea eax, [edi + 0x41]
cmp esi, eax
ja 0x4121e9
lea eax, [edi + 0x1000]
cmp esi, eax
ja 0x4121cd
lea eax, [edi + 0x200]
cmp esi, eax
ja 0x4121b2
lea eax, [edi + 0x42]
cmp esi, eax
ja 0x412195
lea eax, [edi + 0x20]
cmp esi, eax
ja 0x41217e
lea eax, [edi + 9]
cmp esi, eax
ja 0x412166
lea eax, [edi + 5]
cmp esi, eax
ja 0x412153
lea eax, [edi + 2]
cmp esi, eax
ja 0x41213c
lea eax, [edi + 0x5a]
cmp esi, eax
ja 0x411f90
lea esi, [edi + 0x28]
lea edi, [esi + 0x61]
jmp 0x411f90
lea ecx, [edx + 0x2b]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x2d
add cl, bl
jmp 0x411f85
lea ecx, [edx + 0x35]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x73
add cl, bl
jmp 0x411f32
lea ecx, [edx + 0x3f]
mov al, cl
and al, bl
add al, al
sub cl, al
mov eax, dword [esp + 0x24]
add cl, 0x47
add cl, bl
jmp 0x411ea6
lea ecx, [edx - 0x66]
mov ah, dl
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x36
add cl, bl
jmp 0x412647
lea ecx, [edx - 0x5c]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x7c
jmp 0x412469
sub dl, 0x52
mov cl, 0x1f
mov al, dl
and al, bl
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [esp + 0x14]
jmp 0x41266c
lea ecx, [edx - 0x48]
mov ah, dl
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 8
add cl, bl
jmp 0x412610
lea ecx, [edx - 0x3e]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x4e
add cl, bl
mov byte [esp + 0x10], cl
mov eax, dword [esp + 0x10]
jmp 0x412689
sub dl, 0x34
mov cl, 0x36
mov al, dl
and al, bl
sub cl, al
add cl, cl
lea eax, [edx + ecx]
mov edx, dword [esp + 0x14]
add al, bl
jmp 0x4126a4
sub dl, 0x2a
mov cl, 0x13
mov al, dl
and al, bl
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [esp + 0x14]
add cl, bl
mov ah, dl
jmp 0x41258d
lea ecx, [edx - 0x20]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x20
jmp 0x4122ce
lea ecx, [edx - 0x16]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x66
jmp 0x4126c9
lea ecx, [edx + 3]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x15
add cl, bl
jmp 0x412552
lea ecx, [edx + 0xd]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x5b
add cl, bl
cmp edi, 1
jb 0x41254e
mov ecx, dword [esp + 0x14]
mov al, bl
mov ah, cl
mov cl, bl
mov dl, ah
sub dl, 0x1c
and al, dl
add al, al
sub cl, al
add cl, dl
add cl, cl
sub cl, 0x78
jmp 0x412643
lea ecx, [edx + 0x17]
mov al, cl
and al, bl
add al, al
sub cl, al
add cl, 0x5f
add cl, bl
cmp esi, 0x7a
jae 0x41255b
lea eax, [edi + 6]
cmp esi, eax
jbe 0x4124d4
add dl, 0x48
mov al, bl
and al, dl
mov cl, 4
sub cl, al
add cl, cl
add cl, bl
add cl, dl
jmp 0x412234
lea ecx, [edx + 0x21]
mov al, cl
and al, bl
add al, al
sub cl, al
add cl, 0x19
jmp 0x41237c
add dl, 0x6c
mov cl, 6
mov al, dl
and al, bl
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [esp + 0x14]
jmp 0x4126c9
lea ecx, [edx + 0x76]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x3a
add cl, bl
mov dword [esp + 0x10], ecx
jmp 0x4125af
mov ah, dl
mov cl, ah
sub cl, 0x80
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x80
add cl, bl
jmp 0x41258d
sub dl, 0x76
mov cl, 0x1d
jmp 0x4121b7
lea ecx, [edx - 0x6c]
mov al, cl
and al, bl
add al, al
sub cl, al
lea eax, [ebx + ecx]
sub al, 0xc
jmp 0x412685
mov ah, dl
mov cl, ah
sub cl, 0x62
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x52
add cl, bl
jmp 0x412610
sub dl, 0x58
mov cl, 0x34
jmp 0x41216b
sub dl, 0x4e
mov cl, 0x11
mov al, dl
and al, bl
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [esp + 0x14]
add cl, bl
jmp 0x41265b
mov ah, dl
mov cl, ah
sub cl, 0x44
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x24
add cl, bl
jmp 0x412647
lea eax, [edi + 8]
cmp esi, eax
jae 0x4123b0
lea ecx, [edx - 5]
mov al, cl
and al, bl
add al, al
sub cl, al
add cl, 0x23
add cl, bl
lea eax, [esi + edi]
cmp eax, 0x42
je 0x412578
lea eax, [edi + 2]
cmp esi, eax
jbe 0x41243e
sub dl, 0x4f
mov al, bl
and al, dl
mov cl, bl
add al, al
add dl, 0x29
sub cl, al
add cl, dl
mov edx, dword [esp + 0x14]
jmp 0x41226e
lea eax, [edi + 1]
cmp esi, eax
jne 0x4123ca
lea ecx, [edx + 0x10]
mov al, cl
and al, bl
add al, al
sub cl, al
sub cl, 0x70
jmp 0x4126c9
inc eax
cmp esi, eax
jne 0x4123e5
mov ah, dl
mov al, bl
sub dl, 4
mov cl, 0xe
and al, dl
sub cl, al
add cl, cl
add cl, bl
jmp 0x412587
lea eax, [edi + 5]
cmp esi, eax
jne 0x412401
mov al, bl
lea ecx, [edx - 0x18]
and al, cl
add al, al
sub bl, al
lea eax, [ecx + ebx]
sub al, 0x58
jmp 0x412685
lea eax, [edi + 3]
cmp esi, eax
jne 0x412422
sub dl, 0x2c
mov al, bl
and al, dl
mov cl, 0x1a
sub cl, al
add cl, cl
add cl, bl
add cl, dl
mov edx, dword [esp + 0x14]
jmp 0x41266e
lea eax, [edi + 9]
cmp esi, eax
jne 0x41237e
mov ah, dl
mov al, bl
sub dl, 0x40
and al, dl
sub dl, 0x40
jmp 0x41263b
lea eax, [edi + 1]
cmp esi, eax
jne 0x412456
mov ah, dl
mov al, bl
sub dl, 0x59
and al, dl
add dl, 0x6f
jmp 0x41263b
inc eax
cmp esi, eax
jne 0x412470
lea ecx, [edx - 0x63]
mov al, bl
and al, cl
add al, al
sub bl, al
sub cl, 0x4b
add cl, bl
jmp 0x41265b
lea eax, [edi + 5]
cmp esi, eax
jne 0x41248c
mov al, bl
lea ecx, [edx + 0x75]
and al, cl
add al, al
sub bl, al
lea eax, [ecx + ebx]
sub al, 0x33
jmp 0x4126a4
lea eax, [edi + 7]
cmp esi, eax
jne 0x4124aa
mov ah, dl
mov al, bl
add dl, 0x6b
mov cl, bl
and al, dl
add al, al
sub cl, al
add dl, 0x13
jmp 0x412587
lea eax, [edi + 4]
cmp esi, eax
jne 0x41226e
add dl, 0x61
mov al, bl
and al, dl
mov cl, bl
add al, al
add dl, 0x59
sub cl, al
add cl, dl
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
jmp 0x4125af
lea eax, [edi + 1]
cmp esi, eax
jne 0x4124f5
add dl, 0x3e
mov al, bl
and al, dl
mov cl, 0x27
sub cl, al
add cl, cl
add cl, bl
add cl, dl
mov edx, dword [esp + 0x14]
jmp 0x4126cb
lea eax, [edi + 3]
cmp esi, eax
jne 0x412510
mov ah, dl
mov al, bl
add dl, 0x2a
mov cl, bl
and al, dl
add al, al
sub cl, al
sub dl, 0x26
jmp 0x412587
lea eax, [edi + 4]
cmp esi, eax
jne 0x412532
add dl, 0x16
mov al, bl
and al, dl
mov cl, 0x33
sub cl, al
add cl, cl
lea eax, [ebx + ecx]
add al, dl
mov edx, dword [esp + 0x14]
jmp 0x412685
lea eax, [edi + 5]
cmp esi, eax
jne 0x412234
mov ah, dl
mov al, bl
add dl, 0xc
and al, dl
sub dl, 0x54
jmp 0x412604
mov edx, dword [esp + 0x14]
mov byte [esp + edx + 0x2c], cl
jmp 0x4126dc
mov ecx, dword [esp + 0x14]
mov ah, dl
sub dl, 0x26
mov al, bl
and al, dl
mov cl, byte [esp + ecx + 0x2c]
sub cl, al
add cl, 5
add cl, cl
jmp 0x41260a
mov ah, dl
mov al, bl
sub dl, 0x30
mov cl, 0x28
and al, dl
sub cl, al
add cl, cl
add cl, dl
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
sub ah, 0x35
mov al, bl
and al, ah
mov cl, bl
add al, al
add ah, 0x73
sub cl, al
add cl, ah
inc edi
movzx eax, cl
add eax, edi
mov byte [esp + edx + 0x2c], cl
sub edx, eax
mov al, bl
lea ecx, [edx - 0x3a]
and al, cl
add al, al
sub bl, al
or eax, 0xffffffff
sub bl, 0x6a
add bl, cl
inc esi
sub eax, esi
mov byte [esp + edx + 0x2c], bl
add edx, eax
jmp 0x4126cf
lea ecx, [edx + 0x1f]
mov al, bl
and al, cl
add al, al
sub bl, al
add cl, 0x27
jmp 0x4126c9
mov al, bl
lea ecx, [edx + 0x3d]
and al, cl
add al, al
sub bl, al
lea eax, [ecx + ebx]
add al, 0x55
jmp 0x4126a4
mov ah, dl
mov al, bl
add dl, 0x51
and al, dl
sub dl, 0x37
add al, al
mov cl, bl
sub cl, al
add cl, dl
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
sub ah, 0x2b
mov al, bl
and al, ah
add ah, 0x2d
add al, al
sub cl, al
add cl, bl
add cl, ah
mov byte [esp + edx + 0x2c], cl
jmp 0x4121a9
mov ah, dl
mov al, bl
add dl, 0x6f
and al, dl
sub dl, 9
add al, al
mov cl, bl
sub cl, al
add cl, dl
mov edx, dword [esp + 0x14]
mov al, bl
sub ah, 0x21
and al, ah
add al, al
sub bl, al
sub bl, 0x19
add bl, ah
mov byte [esp + edx + 0x2c], bl
inc edi
jmp 0x41266e
lea ecx, [edx - 0x69]
mov al, bl
and al, cl
add al, al
sub bl, al
sub cl, 0x21
add cl, bl
mov dword [esp + 0x10], ecx
dec edx
jmp 0x4126d8
mov al, bl
lea ecx, [edx - 0x55]
and al, cl
add al, al
sub bl, al
lea eax, [ecx + ebx]
add al, 0x53
mov dword [esp + 0x10], eax
add esi, edi
jmp 0x4126a8
mov ebx, dword [esp + 0x18]
lea ecx, [edx - 0x7570b84b]
mov al, bl
and al, cl
add al, al
sub bl, al
lea eax, [ecx + ebx]
add al, 0xd
mov dword [esp + 0x10], eax
or ecx, 0xffffffff
movzx eax, al
sub ecx, eax
add edx, ecx
jmp 0x4126d8
mov ebx, dword [esp + 0x18]
lea ecx, [edx - 0x79aa082d]
mov al, bl
and al, cl
add al, al
sub bl, al
add cl, 0x3b
add cl, bl
mov dword [esp + 0x10], ecx
movzx eax, byte [esp + edx + 0x2c]
add eax, edi
add edx, eax
mov ecx, dword [esp + 0x10]
inc edx
jmp 0x411e8e
add dl, 0x49
mov al, bl
and al, dl
add al, al
sub bl, al
lea ecx, [edx + ebx]
inc cl
jmp 0x411e8c
add dl, 0x53
mov al, bl
and al, dl
add al, al
sub bl, al
lea ecx, [edx + ebx]
sub cl, 0x45
jmp 0x411e80
mov eax, dword [esp + 0x14eecb2]
jmp 0x412723
mov eax, dword [esp + 0x8324ad]
jmp 0x412723
mov eax, dword [esp + 0x2c]
push eax
call ebp
pop ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
and dword [eax + 0x10], 0
cmp dword [eax + 0x14], 0xf
jbe 0x412739
mov eax, dword [eax]
pop edi
pop esi
mov byte [eax], 0
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x38]
pop ebp
pop ebx
mov eax, dword [eax]
xor ecx, esp
call fcn.0046be79
add esp, 0x34
ret
call fcn.0046aec5
int3
add ecx, 4
jmp 0x411ce8