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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x1017c400]
xor eax, esp
mov dword [esp + 0x84], eax
mov eax, dword fs:[0x30]
push esi
push edi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edi, dword [eax + 0x18]
mov dword [esp + 0xc], eax
mov dword [esp + 0x1c], edi
mov ecx, dword [edi + 0x3c]
mov ecx, dword [ecx + edi + 0x78]
add ecx, edi
mov dword [esp + 0x18], ecx
cmp ecx, edi
je 0x100669a2
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x100669a2
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, edi
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, edi
mov dword [esp + 0x14], ecx
dec edx
mov edi, 0x6ffaa0bd
mov dword [esp + 0x10], edx
mov cl, byte [esi]
inc esi
mov byte [esp + 0xb], cl
test cl, cl
je 0x10066997
mov al, cl
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x10066966
mov eax, dword [esp + 0xc]
cmp edi, 0x6ac32c68
je 0x100669a9
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edi, dword [eax + 0x18]
test edx, edx
jne 0x10066943
mov eax, dword [eax]
jmp 0x10066918
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x1c]
push 0x101f85e8
mov eax, dword [esi + 0x24]
push 0
push 0
push 5
lea eax, [eax + ecx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push 0
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
test eax, eax
js 0x10066b3e
lea eax, [esp + 0x48]
mov ecx, 0x101e8100
push eax
call fcn.1003a150
cmp dword [esp + 0x5c], 0xf
lea esi, [esp + 0x48]
mov ecx, 0x101f85e8
mov dword [esp + 0x30], 0
cmova esi, dword [esp + 0x48]
xorps xmm0, xmm0
movaps xmmword [esp + 0x20], xmm0
mov dword [esp + 0x34], 0
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066a20
sub ecx, edx
push ecx
push 0x101f85e8
lea ecx, [esp + 0x28]
call fcn.100369f0
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10066a40
sub ecx, edx
push ecx
push esi
lea ecx, [esp + 0x28]
call fcn.10035b70
mov ecx, 0x101f4dd8
movups xmm0, xmmword [eax]
movups xmmword [esp + 0x60], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esp + 0x70], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [esp + 0x60]
push eax
call fcn.10034e00
mov ecx, dword [esp + 0x74]
cmp ecx, 0xf
jbe 0x10066abd
mov edx, dword [esp + 0x60]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066ab3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10066c47
push ecx
push edx
call fcn.100bf656
add esp, 8
mov ecx, dword [esp + 0x34]
cmp ecx, 0xf
jbe 0x10066af3
mov edx, dword [esp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066ae9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10066c47
push ecx
push edx
call fcn.100bf656
add esp, 8
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0xf
mov byte [esp + 0x20], 0
cmp ecx, 0xf
jbe 0x10066b3e
mov edx, dword [esp + 0x48]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10066b34
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10066c47
push ecx
push edx
call fcn.100bf656
add esp, 8
cmp dword [0x101f4dec], 0xf
mov ecx, 0x101f4dd8
cmova ecx, dword [0x101f4dd8]
call fcn.10066680
test al, al
jne 0x10066c33
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [esp + 0x18], ecx
cmp ecx, esi
je 0x10066bf3
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x10066bf3
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, esi
sub ecx, 4
dec edx
mov dword [esp + 0x1c], ecx
mov edi, 0x36af23d7
mov dword [esp + 0xc], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov byte [esp + 0xb], dl
test dl, dl
je 0x10066be7
mov al, dl
movsx esi, al
lea ecx, [ecx + 1]
sub al, 0x41
mov edx, esi
or edx, 0x20
cmp al, 0x19
mov al, byte [ecx - 1]
cmova edx, esi
xor edx, edi
imul edi, edx, 0x1000193
test al, al
jne 0x10066bb7
mov eax, dword [esp + 0x10]
cmp edi, 0x9881c035
je 0x10066bfa
mov esi, dword [eax + 0x18]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
test edx, edx
jne 0x10066b95
mov eax, dword [eax]
jmp 0x10066b6a
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
push 0
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 ecx, dword [eax + edx]
mov eax, 0x101f4dd8
add ecx, edx
cmp dword [0x101f4dec], 0xf
cmova eax, dword [0x101f4dd8]
push eax
call ecx
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
xor ecx, esp
call fcn.100bf244
mov esp, ebp
pop ebp
ret
call fcn.1012a37e
int3