Function at 0x44efe0
Capabilities:
Encrypt data using chaskey
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 edx, 0x6195591d
mov dword [esp + 0x148], eax
mov dword [esp + 0x144], ecx
mov si, word [0x4a1a0a]
mov ax, si
and eax, 0x9df5
mov si, ax
mov word [0x4a1a0a], si
mov si, word [0x4a586a]
mov ax, si
dec eax
mov si, ax
mov word [0x4a586a], si
movsx eax, si
imul eax, eax, 0xe3c05375
cmp edx, eax
jg 0x44f06f
mov eax, dword [0x499088]
mov ecx, dword [0x4a05b8]
mov edx, ecx
dec edx
mov dword [0x4a05b8], edx
add ecx, 0xc66354fd
and eax, ecx
mov si, ax
mov word [0x4a5f54], si
mov ax, word [0x4a1cee]
movsx ecx, ax
shl ecx, 6
and ecx, 0x30b923c0
xor ecx, 0xd6e461bc
mov edx, dword [0x490718]
imul edx, ecx
mov dword [0x490718], edx
mov ecx, dword [0x4942c0]
add ecx, 0xf10fe4c3
mov ax, word [0x4a26cc]
mov dx, ax
or edx, ecx
mov ax, dx
mov word [0x4a26cc], ax
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 0x10
je 0x44f215
mov eax, dword [0x491900]
mov ecx, eax
inc ecx
mov dword [0x491900], ecx
mov dx, word [0x4a8182]
mov cx, dx
or ecx, eax
mov dx, cx
mov word [0x4a8182], dx
mov eax, dword [0x49bf14]
sar eax, 9
sub eax, 0x4341b633
cmp eax, 0x10c9c85f
jne 0x44f11d
mov ax, word [0x4a280a]
mov cx, ax
and ecx, 0xab29
mov ax, cx
mov word [0x4a280a], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x148]
movzx edx, byte [ecx + eax*4]
shl edx, 0x18
movzx esi, byte [ecx + eax*4 + 1]
shl esi, 0x10
or edx, esi
movzx esi, byte [ecx + eax*4 + 2]
shl esi, 8
or edx, esi
movzx ecx, byte [ecx + eax*4 + 3]
or edx, ecx
mov dword [esp + eax*4 + 0x3c], edx
mov eax, dword [0x494928]
not eax
imul eax, eax, 0xb1c497f6
xor eax, 0x3518d7fe
mov ecx, dword [0x49a33c]
add ecx, eax
mov dword [0x49a33c], ecx
mov eax, dword [0x49e320]
dec eax
mov dword [0x49e320], eax
xor eax, 0xba386ea2
mov dword [0x48eb1c], eax
mov eax, dword [0x492774]
dec eax
mov dword [0x492774], eax
imul eax, eax, 0x93c19ac5
or eax, 0xfe831965
cmp eax, 0x759fb6f9
jle 0x44f1b8
mov eax, dword [0x495d74]
xor eax, 0x6f3ceb37
mov dword [0x495d74], eax
jmp 0x44f200
mov eax, dword [0x49ace4]
mov ecx, eax
inc ecx
mov dword [0x49ace4], ecx
add eax, 0x67b3c6d7
mov dx, word [0x4a9cda]
movsx ecx, dx
xor ecx, 0xffffffff
cmp eax, ecx
jl 0x44f1fb
mov ax, word [0x4a79d4]
movsx ecx, ax
imul ecx, ecx, 0x2b504980
xor ecx, 0xdfa6ba02
mov dword [0x497ebc], ecx
jmp 0x44f200
jmp 0x44f205
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x44f0be
mov ax, word [0x4a85d0]
mov cx, ax
inc ecx
mov dx, cx
mov word [0x4a85d0], dx
movsx ecx, ax
mov esi, dword [0x4a0f78]
xor esi, 0xe5567178
or ecx, esi
mov esi, dword [0x48f880]
sub esi, ecx
mov dword [0x48f880], esi
mov ecx, dword [esp + 0x144]
add ecx, 8
mov esi, 9
lea edi, [esp + 0x18]
mov dword [esp + 8], ecx
mov ecx, esi
mov esi, dword [esp + 8]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x491710]
add ecx, 0xd8c2187f
mov dword [0x491710], ecx
mov ecx, esp
mov dword [ecx + 4], 0x100
mov dword [ecx], 0x3d04
call fcn.00430db0
mov dword [esp + 0xc], eax
mov eax, dword [0x4909b8]
xor eax, 0x94e79870
mov dword [0x4909b8], eax
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 0x40
je 0x44f647
mov ax, word [0x4a811e]
mov cx, ax
xor ecx, 0xa5a3
mov ax, cx
mov word [0x4a811e], ax
cmp dword [esp + 0x14], 0xf
jle 0x44f3dc
mov eax, dword [0x48f5f8]
or eax, 0x21c2c2a6
mov dword [0x48f5f8], eax
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 eax, dword [0x49eca0]
imul eax, eax, 0x9299209c
or eax, 0x9f1bda67
cmp eax, 0xed7259e7
jge 0x44f331
mov eax, dword [0x49dcb4]
xor eax, 0x22e2a4c8
mov dword [0x49dcb4], eax
jmp 0x44f351
mov eax, dword [0x497ad8]
sar eax, 4
and eax, 0x7fc60ae9
xor eax, 0xa2602d77
mov ecx, dword [0x49e0a8]
or ecx, eax
mov dword [0x49e0a8], ecx
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 si, word [0x4a1bec]
mov ax, si
xor eax, 0xb93b
mov si, ax
mov word [0x4a1bec], si
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + eax*4]
mov edx, ecx
rol edx, 0x19
mov edi, ecx
rol edi, 0xe
xor edx, edi
shr ecx, 3
xor edx, ecx
mov ecx, dword [esp + eax*4 + 0x3c]
add ecx, edx
mov dword [esp + eax*4 + 0x3c], ecx
mov si, word [0x4a56e2]
movsx eax, si
xor eax, 0x4b6fdff9
mov ecx, dword [0x493b04]
sub ecx, eax
mov dword [0x493b04], ecx
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 eax, dword [0x492144]
add eax, 0xbdbad7e7
mov dword [0x492144], eax
mov eax, 0x58d15b1
mov ecx, dword [0x4a0500]
shl ecx, 0xa
mov edx, dword [0x49b084]
dec edx
mov dword [0x49b084], edx
sub eax, edx
cmp ecx, eax
je 0x44f44a
mov eax, 0x80565117
mov ecx, dword [0x4a04f8]
mov edx, 0x6c86bb81
sub edx, ecx
mov si, word [0x4a5612]
movsx ecx, si
imul ecx, ecx, 0x3f79e054
sub eax, ecx
cmp edx, eax
jne 0x44f445
mov ax, word [0x4a5842]
mov cx, ax
xor ecx, 0x3a3f
mov ax, cx
mov word [0x4a5842], ax
jmp 0x44f44a
mov eax, dword [0x49d938]
sar eax, 3
mov ecx, dword [0x49b8f4]
xor eax, ecx
xor eax, 0x846759e1
mov ecx, dword [0x4928dc]
and ecx, eax
mov dword [0x4928dc], ecx
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov esi, ecx
rol esi, 0x1a
mov edi, ecx
rol edi, 0x15
xor esi, edi
mov edi, ecx
rol edi, 7
xor esi, edi
add eax, esi
mov esi, dword [esp + 0x30]
xor edx, esi
and ecx, edx
xor esi, ecx
add eax, esi
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xc]
mov edx, dword [edx + ecx*4]
add eax, edx
mov ecx, dword [esp + ecx*4 + 0x3c]
add eax, ecx
mov dword [esp + 0x140], eax
mov eax, dword [0x49756c]
xor eax, 0x92d37a12
mov dword [0x49756c], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, eax
rol edx, 0x1e
mov esi, eax
rol esi, 0x13
xor edx, esi
mov esi, eax
rol esi, 0xa
xor edx, esi
mov esi, eax
and esi, ecx
mov edi, dword [esp + 0x20]
or eax, ecx
and edi, eax
or esi, edi
add edx, esi
mov dword [esp + 0x13c], edx
mov eax, dword [0x49eec8]
mov ecx, eax
dec ecx
mov dword [0x49eec8], ecx
mov ecx, 0x21487f30
sub ecx, eax
mov eax, dword [0x49273c]
add eax, ecx
mov dword [0x49273c], eax
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x24]
add ecx, eax
mov dword [esp + 0x24], ecx
mov eax, dword [0x4a008c]
and eax, 0x3ec3bce3
mov dword [0x4a008c], eax
mov eax, dword [esp + 0x140]
mov ecx, dword [esp + 0x13c]
add eax, ecx
mov dword [esp + 0x34], eax
mov eax, dword [0x496b30]
imul eax, eax, 0x447a0c5c
mov dword [0x496b30], eax
mov bx, word [0x4a460e]
movsx eax, bx
imul eax, eax, 0x247d9505
mov ecx, dword [0x49118c]
or eax, ecx
or eax, 0x247c382a
mov dword [0x49118c], eax
mov eax, dword [0x49956c]
dec eax
mov dword [0x49956c], eax
xor eax, 0x408
mov bx, word [0x4a2b76]
mov cx, bx
or ecx, eax
mov bx, cx
mov word [0x4a2b76], bx
mov dword [esp + 0x10], 8
cmp dword [esp + 0x10], 0
je 0x44f615
mov eax, dword [0x48f194]
add eax, 0x4c5dbc11
mov dword [0x48f194], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [esp + eax*4 + 0x18], ecx
mov eax, dword [0x49f6b8]
not eax
mov dx, word [0x4a2230]
mov cx, dx
inc ecx
mov dx, cx
mov word [0x4a2230], dx
movsx ecx, dx
add ecx, 0xeacb6cc2
or eax, ecx
mov ecx, dword [0x494d18]
sub ecx, eax
mov dword [0x494d18], ecx
mov eax, dword [esp + 0x10]
add eax, 0xffffffff
mov dword [esp + 0x10], eax
jmp 0x44f5aa
mov eax, dword [0x49b208]
imul eax, eax, 0x8318a46c
mov dword [0x49b208], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18], eax
mov dword [0x4914d0], 0xbdf69c6e
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x44f2a8
mov eax, 0x8338f856
mov ecx, dword [0x496c94]
mov dx, word [0x4a2382]
movsx esi, dx
xor ecx, esi
cmp eax, ecx
jne 0x44f6ce
mov eax, dword [0x493cc8]
shl eax, 5
mov ecx, dword [0x498dfc]
sar ecx, 9
or eax, ecx
or eax, 0x31627fd9
mov dx, word [0x4a2472]
movsx ecx, dx
xor ecx, 0x9d929c8d
cmp eax, ecx
jg 0x44f6ba
mov eax, dword [0x48ef24]
dec eax
mov dword [0x48ef24], eax
imul eax, eax, 0x9c06f877
mov ecx, dword [0x49e3a8]
xor ecx, eax
mov dword [0x49e3a8], ecx
jmp 0x44f6c9
mov eax, dword [0x491ed0]
xor eax, 0x8000010
mov dword [0x491ed0], eax
jmp 0x44f703
mov eax, 0x96f276bb
mov cx, word [0x4a9ae4]
movsx edx, cx
sub eax, edx
and eax, 0x99fcc50
cmp eax, 0xeb95bfda
jne 0x44f6fe
mov eax, dword [0x491654]
add eax, 0x1ee29e2c
mov dword [0x491654], eax
jmp 0x44f703
mov eax, dword [esp + 0xc]
mov ecx, esp
mov dword [ecx + 4], eax
mov dword [ecx], 0x100
call fcn.00404f30
mov dx, word [0x4a9052]
mov ax, dx
imul eax, eax, 0x5c6b2b07
mov dx, ax
mov word [0x4a9052], dx
mov dword [esp + 0x14], 0
cmp dword [esp + 0x14], 8
je 0x44f797
mov ax, word [0x4a8116]
mov cx, ax
or ecx, 0x11fe
mov ax, cx
mov word [0x4a8116], ax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + ecx*4 + 0x18]
mov esi, dword [esp + 0x144]
mov edi, dword [esi + ecx*4 + 8]
add edi, edx
mov dword [esi + ecx*4 + 8], edi
mov ecx, dword [0x496918]
xor ecx, 0x1e47fd36
mov dword [0x496918], ecx
mov eax, dword [esp + 0x14]
add eax, 1
mov dword [esp + 0x14], eax
jmp 0x44f739
mov ax, word [0x4a433c]
mov cx, ax
inc ecx
mov ax, cx
mov word [0x4a433c], ax
movsx ecx, ax
mov edx, dword [0x49c8a8]
and edx, ecx
mov dword [0x49c8a8], edx
add esp, 0x14c
pop esi
pop edi
pop ebx
ret