Function at 0x42f980
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x348
mov eax, dword [0x4b8040]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x2e0], 0x4ec406d1
mov dword [ebp - 0x2dc], 0x4b574b4
mov eax, dword [ebp - 0x2e0]
mov edx, dword [ebp - 0x2dc]
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], edx
mov dword [ebp - 0x2e0], 0xfdcad7f1
mov dword [ebp - 0x2dc], 0x8736dd28
mov eax, dword [ebp - 0x2e0]
push esi
mov esi, ecx
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x2e0], 0x7112bbbb
mov dword [ebp - 0x2dc], 0xc78fc2fc
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x30c], ecx
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x2e0], 0x7f0c4419
mov dword [ebp - 0x2dc], 0x165cf366
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x2e0], 0x2bb66e85
mov dword [ebp - 0x2dc], 0x679510d5
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e0], 0x98beb99e
mov dword [ebp - 0x2dc], 0xaf16a950
mov dword [ebp - 0x340], eax
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x33c], ecx
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e0], 0x470dedf
mov dword [ebp - 0x2dc], 0xb5eaa59b
mov dword [ebp - 0x338], eax
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x334], ecx
mov ecx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2e0], 0x7f0c4430
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], ecx
mov dword [ebp - 0x2dc], 0x165cf366
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [ebp - 0x2dc]
movaps xmm1, xmmword [ebp - 0x320]
xorps xmm1, xmmword [ebp - 0x340]
movaps xmmword [ebp - 0x320], xmm1
movaps xmm1, xmmword [ebp - 0x310]
mov dword [ebp - 0x324], ecx
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x328], eax
lea edx, [ecx + 1]
xorps xmm1, xmmword [ebp - 0x330]
push edi
movaps xmmword [ebp - 0x310], xmm1
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42fb40
sub ecx, edx
lea eax, [ebp - 0x320]
push ecx
push eax
lea ecx, [esi + 0xc]
call fcn.0041f4e0
push 0x2c8
lea eax, [ebp - 0x2d4]
mov byte [ebp - 0x2e1], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword fs:[0x30]
add esp, 0xc
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x2f0], eax
mov edx, eax
mov dword [ebp - 0x2e8], ecx
mov ecx, dword [ecx + 0x18]
mov dword [ebp - 0x2ec], ecx
mov eax, dword [ecx + 0x3c]
mov eax, dword [eax + ecx + 0x78]
add eax, ecx
mov dword [ebp - 0x2f4], eax
cmp eax, ecx
je 0x42fc06
mov esi, dword [eax + 0x18]
test esi, esi
je 0x42fc06
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, ecx
nop
mov eax, dword [edi - 4]
lea edi, [edi - 4]
add eax, ecx
dec esi
mov edx, 0x44079181
mov cl, byte [eax]
inc eax
test cl, cl
je 0x42fbf6
movsx ecx, cl
lea eax, [eax + 1]
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [eax - 1]
test cl, cl
jne 0x42fbd5
cmp edx, 0x3f421aa4
je 0x42fd46
mov ecx, dword [ebp - 0x2ec]
test esi, esi
jne 0x42fbc0
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x2e8]
mov ecx, dword [eax]
mov dword [ebp - 0x2e8], ecx
cmp ecx, edx
je 0x42fc22
cmp dword [ecx + 0x18], 0
jne 0x42fb94
xor eax, eax
call eax
mov dword [ebp - 0x2dc], eax
mov eax, dword fs:[0x30]
mov dword [ebp - 0x2d8], 0x10010
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x2ec], ecx
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x2e8], edx
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [ebp - 0x2f0], eax
cmp eax, edx
je 0x42fcc6
mov esi, dword [eax + 0x18]
test esi, esi
je 0x42fcc6
mov eax, dword [eax + 0x20]
lea edi, [eax + esi*4]
add edi, edx
nop dword [eax]
mov ecx, dword [edi - 4]
lea edi, [edi - 4]
add ecx, edx
dec esi
mov edx, 0xad89104e
mov al, byte [ecx]
inc ecx
test al, al
je 0x42fcb6
movsx eax, al
lea ecx, [ecx + 1]
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx - 1]
test al, al
jne 0x42fc95
cmp edx, 0xa8e7afc9
je 0x42fd6c
mov edx, dword [ebp - 0x2e8]
test esi, esi
jne 0x42fc80
mov ecx, dword [ebp - 0x2ec]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x2ec], eax
cmp eax, dword [ebp - 0x2f4]
je 0x42fce2
cmp dword [ecx + 0x18], 0
jne 0x42fc52
xor eax, eax
lea ecx, [ebp - 0x2d8]
push ecx
push dword [ebp - 0x2dc]
call eax
test eax, eax
je 0x42fd92
cmp dword [ebp - 0x2d4], 0
jne 0x42fd31
cmp dword [ebp - 0x2d0], 0
jne 0x42fd31
cmp dword [ebp - 0x2cc], 0
jne 0x42fd31
cmp dword [ebp - 0x2c8], 0
jne 0x42fd31
cmp dword [ebp - 0x2c4], 0
jne 0x42fd31
cmp dword [ebp - 0x2c0], 0
je 0x42fd92
mov al, 1
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0044317d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
mov edi, dword [ebp - 0x2f4]
mov edx, dword [ebp - 0x2ec]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*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 0x42fc24
mov edi, dword [ebp - 0x2f0]
mov edx, dword [ebp - 0x2e8]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*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 0x42fce4
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x2e1]
xor ecx, ebp
pop edi
pop esi
call fcn.0044317d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret