Function at 0x404080
Capabilities:
Hash data using murmur3

Disassembly:
je 0x40458b
jne 0x40458b
mov byte [ebp - 4], 0x55
mov al, 0xa9
xchg ecx, eax
int3
ror edi, 2
xor ebx, edi
add ebx, dword [ebp + 0xc]
mov edi, dword [ebp - 0x20]
or edi, eax
and edi, dword [ebp - 4]
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x20]
push 0x4042a2
ret
or ecx, edx
je 0x406fb7
jne 0x406fb7
push 0x4c9224
push 0xacf118
push 0x11472568
mov dword [0x1002a498], edx
xchg esp, eax
mov ecx, es
into
push es
xor edi, esi
mov esi, dword [ebp - 0x10]
xor esi, dword [ebp - 0x14]
add edi, dword [ebp - 0xc]
and esi, dword [ebp - 0x18]
jmp 0x405590
push ebp
je 0x407168
jne 0x407168
cmp dword [ebx*4 + 0xc81e00], 0
pushfd
stc
mov ebx, eax
ror ebx, 0xd
mov edi, eax
rol edi, 0xa
xor ebx, edi
mov edi, eax
je 0x4041d1
jne 0x4041d1
push 0x11483b8c
add byte [0x520041d8], dl
pop eax
mov dword [ebp - 0x78], esi
je 0x40752a
jne 0x40752a
mov ecx, dword [0x115298ec]
xchg edi, eax
dec eax
mov esi, edi
rol esi, 0xe
ror edi, 7
xor esi, edi
mov edi, dword [ebp - 0xb0]
shr edi, 3
xor esi, edi
add esi, ebx
add esi, dword [ebp - 0xb4]
mov edi, ecx
mov dword [ebp - 0x74], esi
mov esi, ecx
ror esi, 0xb
rol edi, 7
xor esi, edi
mov edi, ecx
ror edi, 6
xor esi, edi
add esi, dword [ebp - 0x74]
mov edi, eax
xor edi, dword [ebp - 0x10]
and edi, ecx
xor edi, eax
add edi, esi
mov esi, dword [ebp - 8]
lea esi, [edi + esi - 0x3893ae5d]
add edx, esi
jmp 0x40664b
or edx, esi
movzx esi, byte [eax + 8]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 0xa]
shl esi, 8
or esi, edi
movzx edi, byte [eax + 0xb]
shl esi, 8
or esi, edi
je 0x4092bb
jne 0x4092bb
push 0xa05b58
mov cx, word [reloc.uxtheme.dll_GetThemePartSize]
mov eax, dword [0xf36d0c]
mov eax, 0x101a8636
push 0xb
bnd je 0x405c53
jne 0x405c53
mov dword [esi], 0xa89524
mov dword [0x44a17c], ebx
mov dword [0x45f48c], eax
push 0x11ac
pop ebp
adc byte [ebx + 0x1cb58b12], ah
invalid
xor esi, dword [ebp - 0x10]
push reloc.uxtheme.dll_HitTestThemeBackground
ret
or esi, edi
push reloc.uxtheme.dll_HitTestThemeBackground
ret
and esi, ecx
and edi, edx
or esi, edi
add esi, ebx
mov dword [ebp - 4], esi
mov esi, dword [ebp - 0x80]
mov ebx, esi
rol ebx, 0xf
mov edi, esi
rol edi, 0xd
xor ebx, edi
mov edi, dword [ebp - 0xb4]
shr esi, 0xa
xor ebx, esi
mov esi, edi
rol esi, 0xe
ror edi, 7
xor esi, edi
je 0x408476
jne 0x408476
mov ecx, dword [ebx + 0xc4a0]
mov edx, 0xa693f0
cmp eax, 0xc149940d
invalid
mov edx, dword [ebp - 4]
push 0x404215
ret
movzx ebx, byte [eax + 0x1f]
or edi, ebx
push 0x404b57
ret
movzx edx, byte [eax + 2]
push ebx
shl ecx, 8
jmp 0x4042d8
mov dword [ebp + 0xc], esi
mov esi, dword [ebp - 0x20]
jmp 0x4080ea
mov ebx, esi
ror ebx, 6
xor edi, ebx
add edi, dword [ebp - 0x78]
mov ebx, dword [ebp - 8]
xor ebx, eax
push 0x404917
ret
movzx esi, byte [eax + 6]
movzx ebx, byte [eax + 0xd]
shl edx, 8
or edx, esi
movzx esi, byte [eax + 7]
shl edx, 8
je 0x405054
jne 0x405054
push 0xa6c37c
push 0xa41efc
push 0xace0e4
retf 0x5589
movzx edx, byte [eax + 3]
push esi
movzx esi, byte [eax + 5]
push edi
movzx edi, byte [eax + 9]
shl ecx, 8
or ecx, edx
movzx edx, byte [eax + 4]
shl edx, 8
or edx, esi
jmp 0x406d9c
mov ebp, esp
sub esp, 0x120
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax]
jmp 0x407da4
mov esi, dword [ebp - 0x10]
mov edi, esi
ror edi, 0xb
mov ebx, esi
rol ebx, 7
xor edi, ebx
jmp 0x406715
shl edi, 8
jmp 0x406014
movzx edi, byte [eax + 0x18]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x1a]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x1b]
shl edi, 8
or edi, ebx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x118], esi
mov dword [ebp - 0x108], edi
movzx edi, byte [eax + 0x1c]
shl edi, 8
movzx ebx, byte [eax + 0x1d]
or edi, ebx
je 0x408b77
jne 0x408b77
movsx esi, word [esp + reloc.uxtheme.dll_GetThemePartSize]
call dword [0x1009436c]
jmp dword [0x408478]
movzx edx, byte [eax + 1]
shl ecx, 8
or ecx, edx
jmp 0x4061f2
mov ebx, esi
ror ebx, 0xd
mov edi, esi
rol edi, 0xa
xor ebx, edi
mov edi, esi
ror edi, 2
xor ebx, edi
add ebx, dword [ebp + 0xc]
mov edi, dword [ebp - 4]
or edi, esi
and edi, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edi
mov edi, dword [ebp - 4]
and edi, esi
mov esi, dword [ebp - 0x18]
jmp 0x40562c
add ebx, dword [ebp - 0x94]
mov edi, dword [ebp - 0xb4]
shr edi, 3
xor esi, edi
add esi, ebx
add esi, dword [ebp - 0xb8]
push 0x4045c9
ret
shl edi, 8
movzx ebx, byte [eax + 0x1e]
or edi, ebx
je 0x4078bc
jne 0x4078bc
mov eax, 0xf6ce2c
mov dword [esi], 0xac36e8
mov ebx, 0xcac18df4
push es
xor edi, edx
jmp 0x405d10
movzx edi, byte [eax + 0xc]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0xe]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0xf]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x11]
mov dword [ebp - 0x114], edi
movzx edi, byte [eax + 0x10]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x12]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x13]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x15]
mov dword [ebp - 0x110], edi
movzx edi, byte [eax + 0x14]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x16]
jmp 0x409ad8
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x17]
shl edi, 8
or edi, ebx
movzx ebx, byte [eax + 0x19]
mov dword [ebp - 0x10c], edi
je 0x4079a9
jne 0x4079a9
jmp dword [0x491ab0]