Function at 0x416912
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, 0x2c
mov eax, dword [0x4e2040]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x24], eax
push ebx
mov ebx, ecx
mov dword [ebp - 0x18], ebx
push esi
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x28], esi
push edi
test eax, eax
je 0x416afd
mov eax, dword [0x4e5c60]
test eax, eax
jne 0x416a07
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 - 0x20], ecx
cmp ecx, esi
je 0x4169e0
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x4169e0
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0x3c35c629
mov dword [ebp - 0x1c], ecx
dec edi
mov dword [ebp - 0x14], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x2c], ecx
test dl, dl
je 0x4169d9
mov ebx, dword [ebp - 0x14]
mov esi, ecx
movsx ecx, dl
xor ecx, ebx
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 ebx, ecx, 0x1000193
inc esi
test dl, dl
jne 0x41699b
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0x60114003
mov ebx, dword [ebp - 0x18]
je 0x4169e7
mov ecx, dword [ebp - 0x1c]
test edi, edi
jne 0x416979
mov eax, dword [eax]
jmp 0x416957
mov edx, dword [ebp - 0x20]
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 - 0x28]
mov dword [0x4e5c60], eax
push 0
push 0x80
push 3
push 0
push 7
push 0x80000000
push dword [ebp - 0x24]
call eax
mov dword [ebx + 4], eax
cmp eax, 0xffffffff
jne 0x416b27
test esi, esi
je 0x416afd
mov eax, dword [0x4e5c64]
test eax, eax
jne 0x416af9
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 - 0x1c], eax
mov dword [ebp - 0x18], ecx
mov edx, dword [ecx + 0x18]
mov eax, dword [edx + 0x3c]
mov edi, dword [eax + edx + 0x78]
add edi, edx
mov dword [ebp - 0x24], edi
cmp edi, edx
je 0x416ad9
mov esi, dword [edi + 0x18]
test esi, esi
je 0x416ad9
mov eax, dword [edi + 0x20]
lea eax, [eax + esi*4]
add eax, edx
sub eax, 4
mov ecx, 0x2a363af9
dec esi
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x20], eax
mov ebx, dword [eax]
add ebx, edx
mov cl, byte [ebx]
inc ebx
test cl, cl
je 0x416ad2
mov edi, dword [ebp - 0x14]
movsx eax, cl
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
mov cl, byte [ebx]
imul edi, eax, 0x1000193
inc ebx
test cl, cl
jne 0x416a94
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0x14], 0xed3a7c22
mov edi, dword [ebp - 0x24]
je 0x416b10
mov eax, dword [ebp - 0x20]
test esi, esi
jne 0x416a77
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0x1c]
je 0x416aef
cmp dword [ecx + 0x18], 0
jne 0x416a55
xor eax, eax
mov esi, dword [ebp - 0x28]
mov dword [0x4e5c64], eax
call eax
mov dword [esi], eax
xor al, al
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004b0ce6
leave
ret 8
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 eax, dword [eax + edx]
add eax, edx
jmp 0x416af1
mov eax, dword [0x4e5c68]
xorps xmm0, xmm0
movlpd qword [ebp - 0x10], xmm0
test eax, eax
jne 0x416bf5
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 - 0x1c], ecx
cmp ecx, esi
je 0x416bd1
mov edi, dword [ecx + 0x18]
test edi, edi
je 0x416bd1
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + edi*4]
add ecx, esi
sub ecx, 4
mov edx, 0x2bc340b5
mov dword [ebp - 0x20], ecx
dec edi
mov dword [ebp - 0x14], edx
mov ecx, dword [ecx]
add ecx, esi
mov dl, byte [ecx]
inc ecx
mov dword [ebp - 0x24], ecx
test dl, dl
je 0x416bca
mov ebx, dword [ebp - 0x14]
mov esi, ecx
movsx ecx, dl
xor ecx, ebx
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 ebx, ecx, 0x1000193
inc esi
test dl, dl
jne 0x416b8c
mov esi, dword [eax + 0x18]
mov dword [ebp - 0x14], ebx
cmp dword [ebp - 0x14], 0x19c2057d
mov ebx, dword [ebp - 0x18]
je 0x416bd8
mov ecx, dword [ebp - 0x20]
test edi, edi
jne 0x416b6a
mov eax, dword [eax]
jmp 0x416b48
mov edx, dword [ebp - 0x1c]
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 dword [0x4e5c68], eax
lea ecx, [ebp - 0x10]
push ecx
push dword [ebx + 4]
call eax
test eax, eax
jne 0x416c0e
mov ecx, ebx
call fcn.00416c55
jmp 0x416afd
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword [ebx + 8], eax
mov al, 1
mov dword [ebx + 0xc], ecx
mov byte [ebx], 1
jmp 0x416aff