Function at 0x10001d70
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
sub esp, 0x14c
mov eax, dword [0x1002c040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword fs:[0x30]
push ebx
push esi
push edi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x134], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x130], ecx
cmp ecx, esi
je 0x10001df9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x10001df9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0xa1ab55de
mov cl, byte [edx]
inc edx
test cl, cl
je 0x10001df2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x10001dd5
cmp esi, 0xccd0501d
je 0x10001dfd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x10001dc0
mov eax, dword [eax]
jmp 0x10001d92
mov esi, dword [ebp - 0x130]
mov edx, dword [ebp - 0x134]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
push eax
call fcn.10001630
push 0x124
mov dword [ebp - 0x13c], eax
lea eax, [ebp - 0x128]
push 0
push eax
call fcn.10009b80
mov ecx, dword fs:[0x30]
add esp, 0x10
mov dword [ebp - 0x12c], 0x22c
mov eax, dword [ecx + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x130], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x134], ecx
cmp ecx, esi
je 0x10001ec9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x10001ec9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x40271a97
mov cl, byte [edx]
inc edx
test cl, cl
je 0x10001ec2
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x10001ea5
cmp esi, 0x2eec1867
je 0x10001ecd
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x10001e90
mov eax, dword [eax]
jmp 0x10001e60
mov esi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x130]
push 0
push 2
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov ecx, dword fs:[0x30]
mov dword [ebp - 0x130], eax
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
nop word [eax + eax]
mov esi, dword [ecx + 0x18]
mov dword [ebp - 0x138], esi
mov edx, dword [esi + 0x3c]
mov eax, dword [edx + esi + 0x78]
add eax, esi
mov dword [ebp - 0x134], eax
cmp eax, esi
je 0x10001f79
mov edi, dword [eax + 0x18]
test edi, edi
je 0x10001f79
mov eax, dword [eax + 0x20]
lea ebx, [eax + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x94a74283
mov al, byte [edx]
inc edx
test al, al
je 0x10001f72
movsx eax, al
lea edx, [edx + 1]
xor eax, esi
imul esi, eax, 0x1000193
mov al, byte [edx - 1]
test al, al
jne 0x10001f55
cmp esi, 0x311cbd6d
je 0x10001f7d
mov esi, dword [ecx + 0x18]
test edi, edi
jne 0x10001f40
mov ecx, dword [ecx]
jmp 0x10001f10
mov esi, dword [ebp - 0x134]
mov edx, dword [ebp - 0x138]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
lea ecx, [ebp - 0x12c]
push ecx
push dword [ebp - 0x130]
add eax, edx
call eax
test eax, eax
je 0x10002295
mov eax, dword [0x10022360]
xor ebx, ebx
movq xmm0, qword [str.QMF_WK_I]
mov dword [ebp - 0x144], eax
mov al, byte [0x10022364]
mov byte [ebp - 0x140], al
mov eax, dword [0x1002d2b4]
movq qword [ebp - 0x14c], xmm0
cmp eax, 2
jl 0x100020f0
movaps xmm2, xmmword [0x10022560]
mov ebx, 8
movaps xmm3, xmmword [0x100225b0]
movaps xmm1, xmm2
punpckldq xmm1, xmm2
movaps xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10022580]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movaps xmm2, xmmword [0x10022570]
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10022590]
movd xmm0, dword [str.QMF_WK_I]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444_t]
xorps xmm1, xmm0
movaps xmm0, xmm2
movd dword [ebp - 0x14c], xmm1
movaps xmm1, xmm2
punpckldq xmm1, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm1, xmm3
pmuldq xmm0, xmm3
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, 5
movaps xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmmword [0x10022580]
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm0, xmm0, 0xd8
pshufd xmm1, xmm0, 0xd8
andps xmm1, xmmword [0x10022590]
movd xmm0, dword [ebp - 0x148]
packuswb xmm1, xmm1
paddb xmm1, xmmword [str.4444444444444444_t]
xorps xmm1, xmm0
movd dword [ebp - 0x148], xmm1
nop dword [eax + eax]
mov eax, 0x8d3dcb09
mov cl, bl
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
movsx eax, al
imul eax, eax, 0x3a
sub cl, al
add cl, 0x34
xor byte [ebp + ebx - 0x14c], cl
inc ebx
cmp ebx, 0xd
jl 0x100020f0
mov eax, dword [ebp - 0x13c]
cmp dword [ebp - 0x124], eax
jne 0x10002164
lea ecx, [ebp - 0x14c]
lea eax, [ebp - 0x108]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10002157
test dl, dl
je 0x10002153
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10002157
add eax, 2
add ecx, 2
test dl, dl
jne 0x10002137
xor eax, eax
jmp 0x1000215c
sbb eax, eax
or eax, 1
test eax, eax
jne 0x100021ee
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x134], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [ebp - 0x138], ecx
cmp ecx, edx
je 0x100021d9
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x100021d9
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, edx
nop dword [eax + eax]
mov ecx, dword [ebx - 4]
lea ebx, [ebx - 4]
add ecx, edx
dec edi
mov esi, 0x3c0972c0
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x100021d2
movsx edx, dl
lea ecx, [ecx + 1]
xor edx, esi
imul esi, edx, 0x1000193
mov dl, byte [ecx - 1]
test dl, dl
jne 0x100021b5
cmp esi, 0xa9dae319
je 0x100021dd
mov edx, dword [eax + 0x18]
test edi, edi
jne 0x100021a0
mov eax, dword [eax]
jmp 0x10002170
mov esi, dword [ebp - 0x138]
mov edx, dword [ebp - 0x134]
jmp 0x10001f89
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x138], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x13c], ecx
cmp ecx, esi
je 0x10002269
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x10002269
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax + eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x4ef6e28f
mov cl, byte [edx]
inc edx
test cl, cl
je 0x10002262
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x10002245
cmp esi, 0x5dbd749
je 0x1000226d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x10002230
mov eax, dword [eax]
jmp 0x10002200
mov esi, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x138]
push 0xb
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
add esp, 4
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x138], esi
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x13c], ecx
cmp ecx, esi
je 0x10002309
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x10002309
mov ecx, dword [ecx + 0x20]
lea ebx, [ecx + edi*4]
add ebx, esi
nop dword [eax]
mov edx, dword [ebx - 4]
lea ebx, [ebx - 4]
add edx, esi
dec edi
mov esi, 0x94082254
mov cl, byte [edx]
inc edx
test cl, cl
je 0x10002302
movsx ecx, cl
lea edx, [edx + 1]
xor ecx, esi
imul esi, ecx, 0x1000193
mov cl, byte [edx - 1]
test cl, cl
jne 0x100022e5
cmp esi, 0x8d3eaade
je 0x1000230d
mov esi, dword [eax + 0x18]
test edi, edi
jne 0x100022d0
mov eax, dword [eax]
jmp 0x100022a1
mov esi, dword [ebp - 0x13c]
mov edx, dword [ebp - 0x138]
push dword [ebp - 0x130]
mov eax, dword [esi + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov ecx, dword [ebp - 4]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10007538
mov esp, ebp
pop ebp
ret