Function at 0x444d80
Capabilities:
Hash data using murmur3

Disassembly:
push ebx
push edi
push esi
sub esp, 0x14c
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x148], eax
mov dword [esp + 0x144], ecx
mov eax, dword [0x4af60c]
add eax, 0xcce7bb27
mov dword [0x4aa410], eax
mov eax, dword [0x4a80c0]
and eax, 0xea6d2ac7
mov dword [0x4a80c0], eax
mov dx, word [0x49d022]
movsx eax, dx
mov ecx, dword [0x4aa0c0]
mov esi, ecx
inc esi
mov dword [0x4aa0c0], esi
sub eax, ecx
and eax, 0x4b9a1e25
mov dword [0x4a73c8], eax
mov dx, word [0x4a0938]
movsx eax, dx
add eax, 0xcd662c0
mov ecx, dword [0x4ab024]
and eax, ecx
and eax, 0xac5d6e3d
mov dword [0x4ab024], eax
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 0x10
je 0x444f31
mov eax, 0x7103000
mov ecx, dword [0x4a81a0]
add ecx, 0x841c2c9
mov dword [0x4a81a0], ecx
mov word [0x49d792], 0xbf84
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x148]
movzx esi, byte [edx + ecx*4]
shl esi, 0x18
movzx edi, byte [edx + ecx*4 + 1]
shl edi, 0x10
or esi, edi
movzx edi, byte [edx + ecx*4 + 2]
shl edi, 8
or esi, edi
movzx edx, byte [edx + ecx*4 + 3]
or esi, edx
mov dword [esp + ecx*4 + 0x3c], esi
mov bx, word [0x49a460]
movsx ecx, bx
mov edx, dword [0x4a4114]
not edx
lea ecx, [edx + ecx*4]
mov bx, word [0x49ac9e]
movsx edx, bx
add ecx, edx
cmp eax, ecx
jge 0x444ee6
mov eax, 0x5703e62
mov ecx, dword [0x4aed50]
inc ecx
mov dword [0x4aed50], ecx
xor ecx, 0xfc292c3b
mov edx, dword [0x4a1844]
or ecx, edx
cmp eax, ecx
jg 0x444ee1
mov eax, dword [0x4a8844]
inc eax
mov dword [0x4a8844], eax
xor eax, 0x20400441
or eax, 0xde1a1abc
mov ecx, dword [0x4a23c4]
add ecx, eax
mov dword [0x4a23c4], ecx
jmp 0x444ee6
mov word [0x49dfce], 0xda85
mov ax, word [0x49ba2e]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49ba2e], dx
movsx ecx, ax
mov esi, 0xf1483255
sub esi, ecx
and esi, 0x38f861ef
mov ecx, dword [0x4a325c]
sub ecx, esi
mov dword [0x4a325c], ecx
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x444e11
mov ax, word [0x49e15e]
mov cx, ax
add ecx, 0xcc96db25
mov ax, cx
mov word [0x49e15e], ax
mov ecx, dword [esp + 0x144]
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x38], edx
movsd xmm0, qword [ecx + 0x20]
movsd qword [esp + 0x30], xmm0
movsd xmm0, qword [ecx + 0x18]
movsd qword [esp + 0x28], xmm0
movsd xmm0, qword [ecx + 8]
movsd xmm1, qword [ecx + 0x10]
movsd qword [esp + 0x20], xmm1
movsd qword [esp + 0x18], xmm0
mov ecx, dword [0x4a41d0]
xor ecx, 0xffffffff
add ecx, 0x5bac2062
xor ecx, 0xe3045ad7
cmp ecx, 0xfffffbf2
je 0x444fd8
mov eax, dword [0x4a4110]
inc eax
mov dword [0x4a4110], eax
add eax, 0xc3a1af8e
or eax, 0xce52c6e
cmp eax, 0xafbcc54e
je 0x444fd3
mov eax, dword [0x4a9de0]
xor eax, 0xcc932103
mov dword [0x4a9de0], eax
jmp 0x444fd8
mov eax, 0x9f6067e6
mov ecx, esp
mov dword [ecx + 4], 0x100
mov dword [ecx], 0x9048
mov dword [esp + 8], eax
call fcn.00403e20
mov dword [esp + 0xc], eax
mov eax, dword [0x4a4b88]
mov ecx, dword [esp + 8]
cmp ecx, eax
jne 0x445062
mov eax, dword [0x4a6dec]
add eax, eax
or eax, 0x69065f92
mov ecx, dword [0x4a53dc]
mov dx, word [0x499934]
mov si, dx
dec esi
mov dx, si
mov word [0x499934], dx
movsx esi, dx
imul ecx, esi
mov dx, word [0x49ca26]
movsx esi, dx
sar esi, 7
or ecx, esi
cmp eax, ecx
jge 0x44505d
mov eax, dword [0x4ae6c4]
add eax, 0xbf62fef2
mov dword [0x4ae6c4], eax
jmp 0x445062
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 0x40
je 0x445432
mov eax, dword [0x4ac1e4]
add eax, 0xe1e93334
mov dword [0x4ac1e4], eax
cmp dword [esp + 0x14], 0xf
jle 0x445176
mov eax, dword [0x4aeaec]
inc eax
mov dword [0x4aeaec], eax
xor eax, 0x5a8c4aa2
mov ecx, dword [0x4afa98]
sub ecx, eax
mov dword [0x4afa98], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x34]
mov edx, ecx
rol edx, 0xf
mov esi, ecx
rol esi, 0xd
xor edx, esi
shr ecx, 0xa
xor edx, ecx
mov dword [esp + eax*4 + 0x3c], edx
mov di, word [0x49c89c]
mov ax, di
or eax, 0x2868
mov di, ax
mov word [0x49c89c], di
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x20]
mov edx, dword [esp + eax*4 + 0x3c]
add edx, ecx
mov dword [esp + eax*4 + 0x3c], edx
mov eax, dword [0x4a30bc]
dec eax
mov dword [0x4a30bc], eax
mov ecx, dword [0x4ac924]
dec ecx
mov dword [0x4ac924], ecx
imul eax, ecx
mov di, ax
mov word [0x49d454], di
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4]
mov edx, ecx
rol edx, 0x19
mov esi, ecx
rol esi, 0xe
xor edx, esi
shr ecx, 3
xor edx, ecx
mov ecx, dword [esp + eax*4 + 0x3c]
add ecx, edx
mov dword [esp + eax*4 + 0x3c], ecx
mov eax, dword [0x4a9544]
add eax, 0x8706bf01
mov dword [0x4a9544], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 - 4]
mov edx, dword [esp + eax*4 + 0x3c]
add edx, ecx
mov dword [esp + eax*4 + 0x3c], edx
mov di, word [0x49af3a]
mov ax, di
or eax, 0x2adc
mov di, ax
mov word [0x49af3a], di
mov ax, word [0x49d4f6]
mov cx, ax
mov edx, ecx
dec edx
mov ax, dx
mov word [0x49d4f6], ax
mov edx, dword [0x4a2bb8]
dec edx
mov dword [0x4a2bb8], edx
mov ax, word [0x499eb2]
mov si, ax
dec esi
mov ax, si
mov word [0x499eb2], ax
imul edx, esi
or ecx, edx
mov ax, word [0x499be2]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x499be2], ax
mov ecx, dword [0x4aca94]
and ecx, 0x2cf7add4
mov dword [0x4aca94], ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov edi, edx
rol edi, 0x1a
mov ebx, edx
rol ebx, 0x15
xor edi, ebx
mov ebx, edx
rol ebx, 7
xor edi, ebx
add ecx, edi
mov edi, dword [esp + 0x30]
xor esi, edi
and edx, esi
xor edi, edx
add ecx, edi
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
mov esi, dword [esi + edx*4]
add ecx, esi
mov edx, dword [esp + edx*4 + 0x3c]
add ecx, edx
mov dword [esp + 0x140], ecx
mov dword [0x4a1e74], 0x88110cc4
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, ecx
rol esi, 0x1e
mov edi, ecx
rol edi, 0x13
xor esi, edi
mov edi, ecx
rol edi, 0xa
xor esi, edi
mov edi, ecx
and edi, edx
mov ebx, dword [esp + 0x20]
or ecx, edx
and ebx, ecx
or edi, ebx
add esi, edi
mov dword [esp + 0x13c], esi
mov ax, word [0x4a09a4]
mov cx, ax
and ecx, 0x4310
mov ax, cx
mov word [0x4a09a4], ax
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x24]
add edx, ecx
mov dword [esp + 0x24], edx
mov ax, word [0x49bbd4]
mov cx, ax
imul ecx, ecx, 0xfa4800d4
mov ax, cx
mov word [0x49bbd4], ax
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x13c]
add ecx, edx
mov dword [esp + 0x34], ecx
mov ecx, dword [0x4a5e54]
add ecx, 0xfdcebd77
mov dword [0x4a5e54], ecx
mov ecx, dword [0x4b04f8]
not ecx
and ecx, 0xe577ef8e
mov dword [0x4adf80], ecx
mov ecx, dword [0x4ac7b8]
or ecx, 0xa82c0f8c
mov edx, dword [0x4a1a3c]
add edx, ecx
mov dword [0x4a1a3c], edx
mov dword [esp + 0x10], 8
cmp dword [esp + 0x10], 0
je 0x4453c2
mov eax, 0x3adab8e2
mov ecx, dword [0x4a90e4]
dec ecx
mov dword [0x4a90e4], ecx
xor ecx, 0xb6e471c2
cmp eax, ecx
jne 0x445374
mov ax, word [0x49a594]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x49a594], dx
movsx ecx, ax
add ecx, 0x7436df05
add ecx, 0xac8ec50e
cmp ecx, 0xa4114130
jl 0x44536f
mov eax, dword [0x4b0fd4]
mov ecx, dword [0x4aece4]
or eax, ecx
mov ecx, dword [0x4a4908]
or eax, ecx
or eax, 0x695ffa46
mov dword [0x4a4908], eax
jmp 0x445397
mov ax, word [0x49a86a]
mov cx, ax
xor ecx, 0xfcae
mov ax, word [0x49e1fe]
mov dx, ax
and edx, ecx
mov ax, dx
mov word [0x49e1fe], ax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [esp + eax*4 + 0x18], ecx
mov eax, dword [0x4a7c2c]
add eax, 0xb5affedf
mov dword [0x4a7c2c], eax
mov eax, dword [esp + 0x10]
add eax, 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x4452f6
mov eax, 0x19809100
mov ecx, dword [0x4ab7b4]
add ecx, 0x72131f06
mov dword [0x4ab7b4], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
mov dx, word [0x49af94]
movsx ecx, dx
sar ecx, 3
add ecx, 0x41fad5b3
cmp eax, ecx
jl 0x44541d
mov eax, dword [0x4a8190]
mov ecx, eax
dec ecx
mov dword [0x4a8190], ecx
mov ecx, 0x50dcc55c
sub ecx, eax
mov eax, dword [0x4acc60]
add eax, ecx
mov dword [0x4acc60], eax
jmp 0x445422
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x44506a
mov ax, word [0x49bd86]
mov cx, ax
dec ecx
mov dx, cx
mov word [0x49bd86], dx
movsx ecx, ax
add ecx, 0x9f3914e
mov esi, dword [0x4a6b44]
sub esi, ecx
mov dword [0x4a6b44], esi
mov ecx, dword [esp + 0xc]
mov esi, esp
mov dword [esi + 4], ecx
mov dword [esi], 0x100
call fcn.0040f650
mov ecx, dword [0x4a646c]
dec ecx
mov dword [0x4a646c], ecx
mov esi, dword [0x4a35f4]
xor esi, ecx
mov dword [0x4a35f4], esi
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 8
je 0x445558
mov eax, 0x1e6dffd7
mov ecx, dword [0x4a43c8]
imul ecx, ecx, 0x47895641
cmp eax, ecx
jne 0x4454c6
mov word [0x49ce50], 0x1a7b
jmp 0x445520
mov eax, 0xc3f7f98e
mov ecx, dword [0x4a30c0]
inc ecx
mov dword [0x4a30c0], ecx
mov edx, dword [0x4ad3c4]
xor edx, 0xffffffff
and ecx, edx
cmp eax, ecx
jl 0x4454ff
mov eax, dword [0x4a5798]
add eax, 0x6ee5863d
mov dword [0x4a5798], eax
jmp 0x44551b
mov eax, dword [0x4a4424]
mov ecx, eax
inc ecx
mov dword [0x4a4424], ecx
mov ecx, dword [0x4a5a94]
add ecx, eax
mov dword [0x4a5a94], ecx
jmp 0x445520
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4 + 0x18]
mov edx, dword [esp + 0x144]
mov esi, dword [edx + eax*4 + 8]
add esi, ecx
mov dword [edx + eax*4 + 8], esi
mov eax, dword [0x4b0e48]
and eax, 0xcd00b349
mov dword [0x4a8e54], eax
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x445494
mov eax, 0xfff8fae6
mov ecx, dword [0x4a5db0]
mov edx, dword [0x4ac4a4]
shl edx, 0xa
add edx, 0xc8d68107
and ecx, edx
cmp eax, ecx
jle 0x44558b
mov eax, dword [0x4a7aec]
add eax, 0x20a30381
mov dword [0x4a7aec], eax
add esp, 0x14c
pop esi
pop edi
pop ebx
ret