Function at 0x438c98
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, 0x24
mov eax, dword [0x4e2040]
xor eax, ebp
mov dword [ebp - 4], eax
mov edx, dword [0x4e7a44]
push ebx
push esi
push edi
test edx, edx
jne 0x438e75
mov eax, dword fs:[0x30]
xor ebx, ebx
mov edi, 0x750e1b8e
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], edi
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + 0x2c]
mov esi, dword [eax + 0x30]
add ecx, 0xfffffff8
test ebx, ebx
je 0x438d22
movzx ecx, cx
mov edx, 0x3a09a5f
shr ecx, 1
lea edi, [esi + ecx*2]
jmp 0x438d16
movsx ecx, byte [esi]
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
add esi, 2
cmp esi, edi
jne 0x438cee
cmp edx, ebx
jne 0x438db3
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov edi, dword [ecx + esi + 0x78]
mov ecx, dword [ecx + esi + 0x7c]
add edi, esi
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 8], edi
cmp edi, esi
je 0x438db3
mov ebx, dword [edi + 0x18]
test ebx, ebx
je 0x438db0
mov ecx, dword [edi + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, esi
sub ecx, 4
mov dword [ebp - 0x14], 0x3a09a5f
mov dword [ebp - 0x18], ecx
dec ebx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x20], ecx
test dl, dl
je 0x438da1
mov edi, dword [ebp - 0x14]
mov esi, ecx
movsx ecx, dl
xor ecx, edi
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
mov dl, byte [esi]
imul edi, ecx, 0x1000193
inc esi
test dl, dl
jne 0x438d6c
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], edi
mov edi, dword [ebp - 8]
mov ecx, dword [ebp - 0x14]
cmp ecx, dword [ebp - 0xc]
je 0x438dba
mov ecx, dword [ebp - 0x18]
test ebx, ebx
jne 0x438d4b
mov ebx, dword [ebp - 0x10]
mov eax, dword [eax]
jmp 0x438cd2
mov eax, dword [edi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + esi]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov edx, dword [eax + esi]
add edx, esi
cmp edx, edi
jbe 0x438e6f
mov eax, dword [ebp - 0x1c]
add eax, edi
cmp edx, eax
jae 0x438e6f
mov eax, 0x3a09a5f
mov ebx, eax
mov dword [ebp - 0x10], eax
mov edi, eax
mov dword [ebp - 0xc], eax
mov al, byte [edx]
cmp al, 0x2e
je 0x438e28
movsx eax, al
xor eax, ebx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ebx, eax, 0x1000193
inc edx
mov al, byte [edx]
cmp al, 0x2e
jne 0x438df9
mov dword [ebp - 0x10], ebx
inc edx
mov al, byte [edx]
test al, al
je 0x438e5e
movsx eax, al
xor eax, edi
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul ecx, eax, 0x1000193
mov eax, ecx
shr eax, 0x10
xor eax, ecx
imul edi, eax, 0x1000193
inc edx
mov al, byte [edx]
test al, al
jne 0x438e2f
mov dword [ebp - 0xc], edi
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
jmp 0x438db3
mov dword [0x4e7a44], edx
push 0x4e7a90
call edx
test eax, eax
jne 0x438f42
mov eax, dword fs:[0x30]
mov dword [ebp - 8], 0x1ff
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov esi, dword [eax + 0x18]
mov ecx, dword [esi + 0x3c]
mov ecx, dword [ecx + esi + 0x78]
add ecx, esi
mov dword [ebp - 0x18], ecx
cmp ecx, esi
je 0x438f18
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x438f18
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0xef5596f
dec edi
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [ecx]
add ebx, esi
mov dl, byte [ebx]
inc ebx
test dl, dl
je 0x438f14
mov esi, dword [ebp - 0xc]
movsx ecx, dl
xor ecx, esi
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
imul edx, ecx, 0x1000193
mov ecx, edx
shr ecx, 0x10
xor ecx, edx
mov dl, byte [ebx]
imul esi, ecx, 0x1000193
inc ebx
test dl, dl
jne 0x438ed6
mov dword [ebp - 0xc], esi
cmp dword [ebp - 0xc], 0x959c7c1d
mov esi, dword [eax + 0x18]
je 0x438f1f
mov ecx, dword [ebp - 0x1c]
test edi, edi
jne 0x438eb9
mov eax, dword [eax]
jmp 0x438e97
mov edx, dword [ebp - 0x18]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea edx, [ebp - 8]
push edx
push 0x4e7a90
lea ecx, [eax + ecx*4]
mov ecx, dword [ecx + esi]
add ecx, esi
call ecx
mov ecx, dword [ebp - 4]
mov eax, 0x4e7a90
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b0ce6
leave
ret