Function at 0x408310
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using murmur3
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword fs:[0x30]
sub esp, 0x1c
mov eax, dword [eax + 0xc]
push ebx
push esi
push edi
mov eax, dword [eax + 0xc]
nop dword [eax + eax]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x14], edx
mov ecx, dword [edx + 0x3c]
mov ecx, dword [ecx + edx + 0x78]
add ecx, edx
mov dword [esp + 0x10], ecx
cmp ecx, edx
je 0x4083fc
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x4083fc
mov ecx, dword [ecx + 0x20]
lea ecx, [ecx + ebx*4]
add ecx, edx
nop
sub ecx, 4
dec ebx
mov dword [esp + 0xc], ecx
mov edi, 0xb9fd37f9
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x4083ed
nop dword [eax + eax]
movsx esi, dl
lea ecx, [ecx + 1]
imul edx, esi, 0xcc9e2d51
rol edx, 0xf
imul edx, edx, 0x1b873593
xor edx, edi
rol edx, 0xd
add edx, 0xfaddaf14
lea edi, [edx + edx*4]
imul edx, esi, 0x51000000
rol edx, 0xf
imul edx, edx, 0x1b873593
xor edi, edx
xor edi, 1
mov edx, edi
shr edx, 0x10
xor edx, edi
imul esi, edx, 0x85ebca6b
mov edx, esi
shr edx, 0xd
xor edx, esi
imul esi, edx, 0xc2b2ae35
mov edx, esi
shr edx, 0x10
xor edx, esi
imul edi, edx, 0x539
mov dl, byte [ecx - 1]
test dl, dl
jne 0x408380
cmp edi, 0x9ae184fc
je 0x408403
mov ecx, dword [esp + 0xc]
mov edx, dword [eax + 0x18]
test ebx, ebx
jne 0x408360
mov eax, dword [eax]
jmp 0x408330
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0
push 0
mov eax, dword [esi + 0x24]
push 0
push 0x407a30
push 0
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
push 0
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
mov ebx, eax
push ebx
mov dword [esp + 0x1c], ebx
call fcn.004273d0
add esp, 4
test ebx, ebx
je 0x408545
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx + 0x18]
mov dword [esp + 0xc], edx
mov eax, dword [edx + 0x3c]
mov eax, dword [eax + edx + 0x78]
add eax, edx
mov dword [esp + 0x10], eax
cmp eax, edx
je 0x40851b
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x40851b
mov eax, dword [eax + 0x20]
lea eax, [eax + ebx*4]
add eax, edx
mov edi, dword [eax - 4]
sub eax, 4
add edi, edx
mov dword [esp + 0x14], eax
dec ebx
mov esi, 0x67a8d89
mov al, byte [edi]
inc edi
test al, al
je 0x40850f
nop dword [eax]
movsx edx, al
lea edi, [edi + 1]
imul eax, edx, 0xcc9e2d51
rol eax, 0xf
imul eax, eax, 0x1b873593
xor eax, esi
rol eax, 0xd
add eax, 0xfaddaf14
lea esi, [eax + eax*4]
imul eax, edx, 0x51000000
rol eax, 0xf
imul eax, eax, 0x1b873593
xor esi, eax
xor esi, 1
mov eax, esi
shr eax, 0x10
xor eax, esi
imul edx, eax, 0x85ebca6b
mov eax, edx
shr eax, 0xd
xor eax, edx
imul edx, eax, 0xc2b2ae35
mov eax, edx
shr eax, 0x10
xor eax, edx
imul esi, eax, 0x539
mov al, byte [edi - 1]
test al, al
jne 0x4084a0
cmp esi, 0xaad50bb0
je 0x408522
mov edx, dword [ecx + 0x18]
mov eax, dword [esp + 0x14]
test ebx, ebx
jne 0x408484
mov ecx, dword [ecx]
jmp 0x408455
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
push dword [esp + 0x18]
mov eax, dword [esi + 0x24]
lea eax, [eax + ebx*2]
movzx ecx, word [eax + edx]
mov eax, dword [esi + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + edx]
add eax, edx
call eax
call fcn.0041231a
cmp eax, 0x1337
jne 0x408557
lea eax, [esp + 0x1c]
call eax
call fcn.004273b0
test al, al
je 0x408565
call fcn.00407a50
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret