Function at 0x407960
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 0x407a4c
mov ebx, dword [ecx + 0x18]
test ebx, ebx
je 0x407a4c
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, 0x668fdbab
mov ecx, dword [ecx]
add ecx, edx
mov dl, byte [ecx]
inc ecx
test dl, dl
je 0x407a3d
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 0x4079d0
cmp edi, 0x1c607f9a
je 0x407a53
mov ecx, dword [esp + 0xc]
mov edx, dword [eax + 0x18]
test ebx, ebx
jne 0x4079b0
mov eax, dword [eax]
jmp 0x407980
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
push 0
push 0
mov eax, dword [esi + 0x24]
push 0
push 0x407080
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.004243d0
add esp, 4
test ebx, ebx
je 0x407b95
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 0x407b6b
mov ebx, dword [eax + 0x18]
test ebx, ebx
je 0x407b6b
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, 0x72e3ada3
mov al, byte [edi]
inc edi
test al, al
je 0x407b5f
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 0x407af0
cmp esi, 0x1e7014ec
je 0x407b72
mov edx, dword [ecx + 0x18]
mov eax, dword [esp + 0x14]
test ebx, ebx
jne 0x407ad4
mov ecx, dword [ecx]
jmp 0x407aa5
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.00410d2a
cmp eax, 0x1337
jne 0x407ba7
lea eax, [esp + 0x1c]
call eax
call fcn.004243b0
test al, al
je 0x407bb5
call fcn.004070a0
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret