Function at 0x4abf06
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, 0xe8
mov eax, dword [0x4e2040]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [0x4e4450]
push ebx
mov ebx, ecx
xor ecx, ecx
mov dword [ebp - 0xb0], ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebx], ecx
mov dword [ebx + 4], ecx
mov dword [ebx + 8], ecx
mov byte [ebx + 0xc], cl
mov dword [ebx + 0x10], ecx
push edi
sub eax, ecx
je 0x4ac6f1
dec eax
sub eax, 1
jne 0x4abf8f
push ecx
call fcn.0043ea4c
pop ecx
xor edi, edi
mov dword [0x4e440c], eax
inc edi
mov dword [0x4e43fc], 0x20
push edi
push 0x4e43f8
call fcn.0043eac8
pop ecx
pop ecx
test eax, eax
je 0x4abf87
cmp eax, 0x100
je 0x4abf87
and dword [0x4e4450], 0
jmp 0x4ac6f1
mov dword [0x4e4450], edi
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x90], ecx
cmp dword [esi + 0x14], 7
lea edi, [ebp - 0xa4]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
jbe 0x4abfa9
mov esi, dword [esi]
lea eax, [ebp - 0x90]
push eax
push esi
lea ecx, [ebp - 0xa4]
call fcn.00416912
cmp byte [ebp - 0xa4], 0
je 0x4ac5fa
mov esi, dword [ebp - 0x9c]
mov eax, esi
or eax, dword [ebp - 0x98]
mov dword [ebp - 0xb4], esi
je 0x4ac5fa
mov eax, dword [ebx + 8]
sub eax, dword [ebx]
mov dword [ebp - 0x90], esi
cmp esi, eax
jbe 0x4ac00c
cmp esi, 0x7fffffff
ja 0x4ac704
lea eax, [ebp - 0x90]
mov ecx, ebx
push eax
call fcn.004ac7d5
push esi
push dword [ebx]
lea ecx, [ebp - 0xa4]
call fcn.00416d4b
test eax, eax
jne 0x4ac0f5
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x4ac6f1
mov eax, dword [0x4e5c5c]
test eax, eax
jne 0x4ac6ee
mov eax, dword fs:[0x30]
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 - 0xb8], ecx
cmp ecx, esi
je 0x4ac0e3
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4ac0e3
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0xac2cb299
dec edi
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0x90], ecx
mov ebx, dword [ecx]
add ebx, esi
mov dl, byte [ebx]
inc ebx
test dl, dl
je 0x4ac0df
mov esi, dword [ebp - 0xa8]
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 0x4ac098
mov dword [ebp - 0xa8], esi
cmp dword [ebp - 0xa8], 0xc312cdc0
mov esi, dword [eax + 0x18]
je 0x4ac0ea
mov ecx, dword [ebp - 0x90]
test edi, edi
jne 0x4ac072
mov eax, dword [eax]
jmp 0x4ac049
mov edx, dword [ebp - 0xb8]
jmp 0x4ac6c8
mov esi, dword [ebp - 0xa0]
test esi, esi
je 0x4ac200
mov eax, dword [0x4e5c5c]
test eax, eax
jne 0x4ac1f5
mov eax, dword fs:[0x30]
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 - 0xc0], ecx
cmp ecx, esi
je 0x4ac1c8
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4ac1c8
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0xac2cb299
mov dword [ebp - 0x90], ecx
dec edi
mov dword [ebp - 0xa8], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0xb8], ecx
test dl, dl
je 0x4ac1be
mov esi, dword [ebp - 0xa8]
mov ebx, ecx
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 0x4ac177
mov ebx, dword [ebp - 0xb0]
mov dword [ebp - 0xa8], esi
cmp dword [ebp - 0xa8], 0xc312cdc0
mov esi, dword [eax + 0x18]
je 0x4ac1cf
mov ecx, dword [ebp - 0x90]
test edi, edi
jne 0x4ac149
mov eax, dword [eax]
jmp 0x4ac11c
mov edx, dword [ebp - 0xc0]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
mov esi, dword [ebp - 0xa0]
mov dword [0x4e5c5c], eax
push esi
call eax
xor esi, esi
mov dword [ebp - 0xa0], esi
mov edi, dword [0x4e7ed0]
test edi, edi
jne 0x4ac2ff
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 - 0xb8], eax
mov dword [ebp - 0x90], ecx
mov edx, dword [ecx + 0x18]
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [ebp - 0xac], eax
cmp eax, edx
je 0x4ac2d5
mov esi, dword [eax + 0x18]
test esi, esi
je 0x4ac2d5
mov eax, dword [eax + 0x20]
lea eax, [eax + esi*4]
add eax, edx
sub eax, 4
mov ecx, 0x70748ab4
dec esi
mov dword [ebp - 0xa8], ecx
mov dword [ebp - 0xc0], eax
mov edi, dword [eax]
add edi, edx
mov cl, byte [edi]
inc edi
test cl, cl
je 0x4ac2cb
mov ebx, dword [ebp - 0xa8]
movsx eax, cl
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
mov cl, byte [edi]
imul ebx, eax, 0x1000193
inc edi
test cl, cl
jne 0x4ac27d
mov dword [ebp - 0xa8], ebx
cmp dword [ebp - 0xa8], 0x3f47488f
mov ebx, dword [ebp - 0xb0]
je 0x4ac4e2
mov eax, dword [ebp - 0xc0]
test esi, esi
jne 0x4ac257
mov ecx, dword [ebp - 0x90]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x90], eax
cmp eax, dword [ebp - 0xb8]
je 0x4ac2f1
cmp dword [ecx + 0x18], 0
jne 0x4ac22a
xor edi, edi
mov esi, dword [ebp - 0xa0]
mov dword [0x4e7ed0], edi
mov eax, dword [ebx]
movaps xmm0, xmmword [0x4d8610]
mov dword [ebp - 0xac], eax
mov eax, dword fs:[0x2c]
movups xmmword [ebp - 0xe4], xmm0
mov dword [ebp - 0xd4], 0x35a6a561
mov dword [ebp - 0xd0], 0x74f80bd
mov edx, dword [eax]
mov dword [ebp - 0xcc], 0x20a6ad66
mov word [ebp - 0xc8], 0xd0a9
mov byte [ebp - 0xc6], 0x3f
mov eax, dword [edx + 0x61cc]
mov dword [ebp - 0x90], edx
test al, 1
jne 0x4ac3b6
xorps xmm0, xmm0
mov byte [edx + 0x61ef], 1
movlpd qword [ebp - 0xc4], xmm0
or eax, 1
mov ebx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc4]
mov dword [edx + 0x61cc], eax
mov al, byte [ebp + ecx - 0xe4]
mov byte [ecx + edx + 0x61d0], al
add ecx, 1
adc ebx, 0
test ebx, ebx
jne 0x4ac39f
cmp ecx, 0x1f
jb 0x4ac382
push 0x4c24d8
call fcn.004b0dd6
mov ebx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x90]
pop ecx
lea eax, [edx + 0x61d0]
cmp byte [eax + 0x1f], 0
je 0x4ac3ea
push 0x213fa5c5
push 0x59bd715
push 0
push 0x1f
mov ecx, eax
call fcn.00407ee8
mov ecx, dword [ebp - 0x90]
add esp, 0x10
lea eax, [ecx + 0x61d0]
mov byte [eax + 0x1f], 0
push dword [ebp - 0xb4]
push dword [ebp - 0xac]
push eax
lea eax, [ebp - 0x8c]
push eax
call edi
push str.memvfs
push 0x41
lea edx, [ebx + 0x10]
lea ecx, [ebp - 0x8c]
call fcn.004a7e3b
add esp, 0x18
test eax, eax
je 0x4ac534
test esi, esi
je 0x4ac6f1
mov eax, dword [0x4e5c5c]
test eax, eax
jne 0x4ac52e
mov eax, dword fs:[0x30]
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 - 0xac], ecx
cmp ecx, esi
je 0x4ac4db
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4ac4db
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0xac2cb299
dec edi
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xb4], ecx
mov ebx, dword [ecx]
add ebx, esi
mov dl, byte [ebx]
inc ebx
test dl, dl
je 0x4ac4d7
mov esi, dword [ebp - 0xa8]
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 0x4ac490
mov dword [ebp - 0xa8], esi
cmp dword [ebp - 0xa8], 0xc312cdc0
mov esi, dword [eax + 0x18]
je 0x4ac502
mov ecx, dword [ebp - 0xb4]
test edi, edi
jne 0x4ac46a
mov eax, dword [eax]
jmp 0x4ac441
mov edi, dword [ebp - 0xac]
mov eax, dword [edi + 0x24]
lea eax, [eax + esi*2]
movzx ecx, word [eax + edx]
mov eax, dword [edi + 0x1c]
lea eax, [eax + ecx*4]
mov edi, dword [eax + edx]
add edi, edx
jmp 0x4ac2f3
mov edx, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xb0]
mov eax, dword [edx + 0x24]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + esi]
add eax, esi
mov esi, dword [ebp - 0xa0]
mov dword [0x4e5c5c], eax
push esi
jmp 0x4ac6ef
mov byte [ebx + 0xc], 1
test esi, esi
je 0x4ac6f1
mov eax, dword [0x4e5c5c]
test eax, eax
jne 0x4ac52e
mov eax, dword fs:[0x30]
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 - 0xac], ecx
cmp ecx, esi
je 0x4ac5f3
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4ac5f3
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0xac2cb299
dec edi
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xb4], ecx
mov ebx, dword [ecx]
add ebx, esi
mov dl, byte [ebx]
inc ebx
test dl, dl
je 0x4ac5ef
mov esi, dword [ebp - 0xa8]
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 0x4ac5a4
mov dword [ebp - 0xa8], esi
cmp dword [ebp - 0xa8], 0xc312cdc0
mov esi, dword [eax + 0x18]
je 0x4ac502
mov ecx, dword [ebp - 0xb4]
test edi, edi
jne 0x4ac57e
mov eax, dword [eax]
jmp 0x4ac555
mov ecx, dword [ebp - 0xa0]
test ecx, ecx
je 0x4ac6f1
mov eax, dword [0x4e5c5c]
test eax, eax
jne 0x4ac6ee
mov eax, dword fs:[0x30]
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 - 0xac], ecx
cmp ecx, esi
je 0x4ac6bb
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4ac6bb
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0xac2cb299
dec edi
mov dword [ebp - 0xa8], edx
mov dword [ebp - 0xb4], ecx
mov ebx, dword [ecx]
add ebx, esi
mov dl, byte [ebx]
inc ebx
test dl, dl
je 0x4ac6b7
mov esi, dword [ebp - 0xa8]
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 0x4ac670
mov dword [ebp - 0xa8], esi
cmp dword [ebp - 0xa8], 0xc312cdc0
mov esi, dword [eax + 0x18]
je 0x4ac6c2
mov ecx, dword [ebp - 0xb4]
test edi, edi
jne 0x4ac64a
mov eax, dword [eax]
jmp 0x4ac621
mov edx, dword [ebp - 0xac]
mov eax, dword [edx + 0x24]
mov ebx, dword [ebp - 0xb0]
lea eax, [eax + edi*2]
movzx ecx, word [eax + esi]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebp - 0xa0]
mov eax, dword [eax + esi]
add eax, esi
mov dword [0x4e5c5c], eax
push ecx
call eax
mov ecx, dword [ebp - 8]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b0ce6
leave
ret 4
call fcn.0040d902
int3