Function at 0x100549e0
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, 0x2ec
push ebx
push esi
push edi
mov ecx, 0x1009df78
call fcn.10054460
push 0x2c8
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x2e8], 0x10010
push 0
push eax
call fcn.10057df0
mov eax, dword [0x1009e008]
add esp, 0xc
mov dword [ebp - 0x14], 0
test eax, eax
jne 0x10054ae3
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 8], ebx
test ebx, ebx
je 0x10054ab9
cmp word [eax + 0x24], 0
je 0x10054ab9
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 4], ecx
cmp ecx, ebx
je 0x10054ab9
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x10054ab9
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, 0x5ad6f603
mov dword [ebp - 0xc], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x10054ab2
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 0x10054a81
cmp edi, 0x64c23c9f
je 0x10054ac0
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x10054a66
mov eax, dword [eax]
jmp 0x10054a36
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
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 [0x1009e008], eax
lea ecx, [ebp - 0x14]
push ecx
push dword [0x1009df78]
call eax
mov eax, dword [0x1009e014]
test eax, eax
jne 0x10054bc2
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
test ebx, ebx
je 0x10054b98
cmp word [eax + 0x24], 0
je 0x10054b98
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 4], ecx
cmp ecx, ebx
je 0x10054b98
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x10054b98
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
nop dword [eax]
mov esi, dword [ecx - 4]
sub ecx, 4
add esi, ebx
mov dword [ebp - 8], ecx
dec edx
mov edi, 0x36de7ef6
mov dword [ebp - 0xc], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x10054b91
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 0x10054b60
cmp edi, 0xe267254b
je 0x10054b9f
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x10054b40
mov eax, dword [eax]
jmp 0x10054b08
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0xc]
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 [0x1009e014], eax
lea ecx, [ebp - 0x2e8]
push ecx
push dword [0x1009df78]
call eax
mov eax, dword [ebp + 0xc]
cmp eax, 3
ja case.default.0x10054bdd
jmp dword [eax*4 + 0x10054e04]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2d0], 1
jmp 0x10054c2d
mov eax, dword [ebp + 8]
or dword [ebp - 0x2d0], 4
mov dword [ebp - 0x2e0], eax
jmp 0x10054c2d
mov eax, dword [ebp + 8]
or dword [ebp - 0x2d0], 0x10
mov dword [ebp - 0x2dc], eax
jmp 0x10054c2d
mov eax, dword [ebp + 8]
or dword [ebp - 0x2d0], 0x40
mov dword [ebp - 0x2d8], eax
mov eax, dword [0x1009e018]
mov dword [ebp - 0x2d4], 0
test eax, eax
jne 0x10054d02
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ebx, dword [eax + 0x18]
mov dword [ebp - 4], ebx
test ebx, ebx
je 0x10054cd8
cmp word [eax + 0x24], 0
je 0x10054cd8
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 8], ecx
cmp ecx, ebx
je 0x10054cd8
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x10054cd8
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 + 0xc], ecx
dec edx
mov edi, 0x2b9c4d61
mov dword [ebp + 8], edx
mov bl, byte [esi]
inc esi
test bl, bl
je 0x10054cd1
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 0x10054ca0
cmp edi, 0x7efbf530
je 0x10054cdf
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x10054c80
mov eax, dword [eax]
jmp 0x10054c50
mov esi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
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 [0x1009e018], eax
lea ecx, [ebp - 0x2e8]
push ecx
push dword [0x1009df78]
call eax
mov eax, dword [0x1009dfec]
test eax, eax
jne 0x10054de2
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 - 4], ebx
test ebx, ebx
je 0x10054db8
cmp word [eax + 0x24], 0
je 0x10054db8
mov ecx, dword [ebx + 0x3c]
mov ecx, dword [ecx + ebx + 0x78]
add ecx, ebx
mov dword [ebp - 8], ecx
cmp ecx, ebx
je 0x10054db8
mov edx, dword [ecx + 0x18]
test edx, edx
je 0x10054db8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edx*4]
add ecx, ebx
sub ecx, 4
dec edx
mov dword [ebp + 0xc], ecx
mov edi, 0x83a30688
mov dword [ebp + 8], edx
mov ecx, dword [ecx]
add ecx, ebx
mov bl, byte [ecx]
inc ecx
test bl, bl
je 0x10054dae
nop word [eax + eax]
movsx esi, bl
lea ecx, [ecx + 1]
sub bl, 0x41
mov edx, esi
or edx, 0x20
cmp bl, 0x19
mov bl, byte [ecx - 1]
cmova edx, esi
xor edx, edi
imul edi, edx, 0x1000193
test bl, bl
jne 0x10054d80
cmp edi, 0x8a64c319
je 0x10054dbf
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov ebx, dword [eax + 0x18]
test edx, edx
jne 0x10054d60
mov eax, dword [eax]
jmp 0x10054d30
mov esi, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 4]
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 [0x1009dfec], eax
lea ecx, [ebp - 0x14]
push ecx
push dword [0x1009df78]
call eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8