Function at 0x1002a9a0
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, 0x34
mov eax, dword [0x101733b8]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [0x101e2694]
push ebx
mov ebx, dword [0x101e1d00]
mov dword [ebp - 0x28], ebx
push esi
push edi
test eax, eax
jne 0x1002aa85
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x1c], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x24], ecx
cmp ecx, ebx
je 0x1002aa58
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1002aa58
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
nop word [eax + eax]
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, ebx
mov dword [ebp - 0x20], ecx
dec edx
mov edi, 0xd47aa3cc
mov dword [ebp - 0x18], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x1002aa51
nop dword [eax + eax]
movsx edx, bl
lea esi, [esi + 1]
sub bl, 0x41
mov ecx, edx
or ecx, 0x20
cmp bl, 0x19
mov bl, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test bl, bl
jne 0x1002aa20
cmp edi, 0xec59d7f9
je 0x1002aa5f
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1002aa00
mov eax, dword [eax]
jmp 0x1002a9d5
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x28]
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
mov dword [0x101e2694], eax
lea ecx, [ebp - 0x14]
push ecx
push dword [0x101e24bc]
call eax
mov eax, dword [ebp - 0xc]
sub eax, dword [ebp - 0x14]
movd xmm1, eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
lea eax, [ebp - 0x30]
cvtdq2ps xmm0, xmm0
push eax
movss dword [ebx + 0x10], xmm1
movss dword [ebx + 0x14], xmm0
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov edi, dword [ebp - 0x30]
mov ecx, edi
sub ecx, dword [0x101e24c0]
mov esi, dword [ebp - 0x2c]
mov edx, esi
sbb edx, dword [0x101e24c4]
call fcn.101314e0
mov edx, dword [0x101e24cc]
mov ecx, dword [0x101e24c8]
cvtsd2ss xmm0, xmm0
movss dword [ebp - 0x1c], xmm0
call fcn.101314e0
movss xmm1, dword [ebp - 0x1c]
cvtsd2ss xmm0, xmm0
divss xmm1, xmm0
movss dword [ebx + 0x18], xmm1
mov eax, dword [0x101e26c8]
mov dword [0x101e24c0], edi
mov dword [0x101e24c4], esi
test eax, eax
jne 0x1002abd2
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x24], ecx
cmp ecx, ebx
je 0x1002aba8
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1002aba8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, ebx
mov dword [ebp - 0x1c], ecx
dec edx
mov edi, 0xebf7101f
mov dword [ebp - 0x18], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x1002aba1
movsx edx, bl
lea esi, [esi + 1]
sub bl, 0x41
mov ecx, edx
or ecx, 0x20
cmp bl, 0x19
mov bl, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test bl, bl
jne 0x1002ab70
cmp edi, 0x49892525
je 0x1002abac
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1002ab55
mov eax, dword [eax]
jmp 0x1002ab30
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x28]
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
mov dword [0x101e26c8], eax
push 0x11
call eax
shr eax, 0xf
and al, 1
mov byte [ebx + 0x100], al
mov eax, dword [0x101e26d4]
test eax, eax
jne 0x1002aca2
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x24], ecx
cmp ecx, ebx
je 0x1002ac78
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1002ac78
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, ebx
mov dword [ebp - 0x1c], ecx
dec edx
mov edi, 0x5f89e7cb
mov dword [ebp - 0x18], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x1002ac71
movsx edx, bl
lea esi, [esi + 1]
sub bl, 0x41
mov ecx, edx
or ecx, 0x20
cmp bl, 0x19
mov bl, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test bl, bl
jne 0x1002ac40
cmp edi, 0x301ba851
je 0x1002ac7c
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1002ac25
mov eax, dword [eax]
jmp 0x1002ac00
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x28]
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
mov dword [0x101e26d4], eax
push 0x10
call eax
shr eax, 0xf
and al, 1
mov byte [ebx + 0x101], al
mov eax, dword [0x101e26cc]
test eax, eax
jne 0x1002ad72
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop word [eax + eax]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x20], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x24], ecx
cmp ecx, ebx
je 0x1002ad48
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1002ad48
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, ebx
mov dword [ebp - 0x1c], ecx
dec edx
mov edi, 0xcc87303
mov dword [ebp - 0x18], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x1002ad41
movsx edx, bl
lea esi, [esi + 1]
sub bl, 0x41
mov ecx, edx
or ecx, 0x20
cmp bl, 0x19
mov bl, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test bl, bl
jne 0x1002ad10
cmp edi, 0x9ea1af19
je 0x1002ad4c
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1002acf5
mov eax, dword [eax]
jmp 0x1002acd0
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x28]
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
mov dword [0x101e26cc], eax
push 0x12
call eax
shr eax, 0xf
and al, 1
mov byte [ebx + 0x103], 0
mov byte [ebx + 0x102], al
call fcn.1002a440
cmp byte [ebx + 0xb0], 0
je 0x1002ad9b
or eax, 0xffffffff
jmp 0x1002ada6
mov eax, dword [0x101e1d00]
mov eax, dword [eax + 0x1d38]
cmp dword [0x101d9a48], eax
je 0x1002adb8
mov dword [0x101d9a48], eax
call fcn.1002a1b0
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.100b5418
mov esp, ebp
pop ebp
ret