Function at 0x1002af20
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, 0x1c
mov dword [ebp - 0xc], ecx
push ebx
push esi
mov esi, dword [0x101e1d00]
mov dword [ebp - 0x1c], esi
push edi
cmp edx, 0x200
ja 0x1002af03
je 0x1002aed0
add edx, 0xffffffe0
cmp edx, 0xe5
ja case.0x1002af19.515
movzx eax, byte [edx + 0x1002b360]
jmp dword [eax*4 + 0x1002b34c]
mov eax, dword [ebp + 8]
cmp eax, 0x100
jae case.0x1002af19.515
mov byte [esi + eax + 0x104], 1
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
cmp eax, 0x100
jae case.0x1002af19.515
pop edi
mov byte [esi + eax + 0x104], 0
xor eax, eax
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
test eax, eax
je 0x1002b307
cmp eax, 0x10000
jae 0x1002b307
movzx ebx, ax
test bx, bx
je 0x1002b307
mov ecx, dword [esi + 0x1500]
add esi, 0x1500
mov edi, dword [esi + 4]
cmp ecx, edi
jne 0x1002ae9f
inc ecx
test edi, edi
je 0x1002ae8b
mov eax, edi
cdq
sub eax, edx
sar eax, 1
add eax, edi
jmp 0x1002ae90
mov eax, 8
cmp eax, ecx
cmovg ecx, eax
push ecx
mov ecx, esi
call fcn.1001a2c0
mov ecx, dword [esi]
mov eax, dword [esi + 8]
pop edi
mov word [eax + ecx*2], bx
mov eax, 1
inc dword [esi]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [ebp + 0xc], 1
jne case.0x1002af19.515
call fcn.1002a1b0
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
movsx eax, cx
sar ecx, 0x10
pop edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movsx eax, cx
movss dword [esi + 0xe8], xmm0
movd xmm0, eax
xor eax, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0xec], xmm0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [edx - 0x201]
cmp eax, 0xb
ja case.0x1002af19.515
movzx eax, byte [eax + 0x1002b458]
jmp dword [eax*4 + 0x1002b448]
xor ecx, ecx
cmp edx, 0x204
sete cl
mov dword [ebp - 4], ecx
cmp edx, 0x207
jne 0x1002af3f
mov dword [ebp - 4], 2
jmp 0x1002af67
cmp edx, 0x20b
jne 0x1002af67
movzx eax, word [ebp + 8]
cmp eax, 0x20
jne 0x1002af59
mov dword [ebp - 4], 3
jmp 0x1002af67
cmp eax, 0x40
mov edx, 4
cmove ecx, edx
mov dword [ebp - 4], ecx
xor eax, eax
nop dword [eax]
cmp byte [esi + eax + 0xf0], 0
jne 0x1002b106
inc eax
cmp eax, 5
jl 0x1002af70
mov eax, dword [0x101e26ac]
test eax, eax
jne 0x1002b03f
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x18], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x14], ecx
cmp ecx, ebx
je 0x1002b018
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1002b018
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 - 0x10], ecx
dec edx
mov edi, 0x9e7175f9
mov dword [ebp - 8], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x1002b011
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 0x1002afe0
cmp edi, 0xb99386c3
je 0x1002b01c
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1002afc5
mov eax, dword [eax]
jmp 0x1002afa0
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x18]
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 [0x101e26ac], eax
call eax
test eax, eax
jne 0x1002b106
mov eax, dword [0x101e26c4]
test eax, eax
jne 0x1002b101
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x10], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x14], ecx
cmp ecx, ebx
je 0x1002b0da
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1002b0da
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 - 0x18], ecx
dec edx
mov edi, 0xa20e2ab1
mov dword [ebp - 8], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x1002b0d3
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 0x1002b0a2
cmp edi, 0x329ab9df
je 0x1002b0de
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x18]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1002b087
mov eax, dword [eax]
jmp 0x1002b062
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x10]
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 [0x101e26c4], eax
push dword [ebp - 0xc]
call eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov byte [ecx + eax + 0xf0], 1
mov eax, 1
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp edx, 0x205
sete al
cmp edx, 0x208
jne 0x1002b13a
mov eax, 2
jmp 0x1002b15b
cmp edx, 0x20c
jne 0x1002b15b
movzx ecx, word [ebp + 8]
cmp ecx, 0x20
jne 0x1002b150
lea eax, [ecx - 0x1d]
jmp 0x1002b15b
cmp ecx, 0x40
mov edx, 4
cmove eax, edx
mov byte [eax + esi + 0xf0], 0
xor eax, eax
nop word [eax + eax]
cmp byte [esi + eax + 0xf0], 0
jne 0x1002b307
inc eax
cmp eax, 5
jl 0x1002b170
mov eax, dword [0x101e2698]
test eax, eax
jne 0x1002b23f
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
nop dword [eax]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x14], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x18], ecx
cmp ecx, ebx
je 0x1002b218
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1002b218
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, 0x70d3b9a8
mov dword [ebp - 8], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x1002b211
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 0x1002b1e0
cmp edi, 0xd31c516
je 0x1002b21c
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1002b1c5
mov eax, dword [eax]
jmp 0x1002b1a0
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x14]
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 [0x101e2698], eax
call eax
cmp eax, dword [ebp - 0xc]
jne 0x1002b307
mov eax, dword [0x101e26a8]
test eax, eax
jne 0x1002b305
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 0x14], ebx
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 0x18], ecx
cmp ecx, ebx
je 0x1002b2db
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x1002b2db
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, 0xcf53f152
mov dword [ebp - 0xc], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x1002b2d4
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 0x1002b2a3
cmp edi, 0x32e22f2b
je 0x1002b2e2
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x1c]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x1002b288
mov eax, dword [eax]
jmp 0x1002b263
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x14]
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 [0x101e26a8], eax
call eax
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 8]
shr eax, 0x10
test ax, ax
jle 0x1002b328
movss xmm0, dword [0x1016d58c]
jmp 0x1002b330
movss xmm0, dword [0x1016d830]
addss xmm0, dword [esi + 0xf8]
pop edi
mov eax, 1
movss dword [esi + 0xf8], xmm0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret