Function at 0x59d8c7
Capabilities:
Encrypt data using chaskey
Hash data using murmur3

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x10
wait
fnstcw word [ebp - 8]
mov ax, word [ebp - 8]
movzx ecx, ax
and ecx, 1
shl ecx, 4
test al, 4
je 0x59d455
or ecx, 8
test al, 8
je 0x59d45c
or ecx, 4
test al, 0x10
je 0x59d463
or ecx, 2
test al, 0x20
je 0x59d46a
or ecx, 1
test al, 2
je 0x59d474
or ecx, 0x80000
push ebx
push esi
movzx esi, ax
mov ebx, 0xc00
mov edx, esi
push edi
mov edi, 0x200
and edx, ebx
je 0x59d4b0
cmp edx, 0x400
je 0x59d4aa
cmp edx, 0x800
je 0x59d4a6
cmp edx, ebx
jne 0x59d4b0
or ecx, 0x300
jmp 0x59d4b0
or ecx, edi
jmp 0x59d4b0
or ecx, 0x100
and esi, 0x300
je 0x59d4c4
cmp esi, edi
jne 0x59d4ca
or ecx, 0x10000
jmp 0x59d4ca
or ecx, 0x20000
movzx eax, ax
mov edx, 0x1000
test edx, eax
je 0x59d4dc
or ecx, 0x40000
mov edi, dword [ebp + 0xc]
mov esi, edi
mov eax, dword [ebp + 8]
not esi
and esi, ecx
and eax, edi
or esi, eax
cmp esi, ecx
je 0x59d59c
push esi
call 0x59d736
pop ecx
mov word [ebp - 4], ax
fldcw word [ebp - 4]
wait
fnstcw word [ebp - 4]
mov ax, word [ebp - 4]
movzx esi, ax
and esi, 1
shl esi, 4
test al, 4
je 0x59d51a
or esi, 8
test al, 8
je 0x59d521
or esi, 4
test al, 0x10
je 0x59d528
or esi, 2
test al, 0x20
je 0x59d52f
or esi, 1
test al, 2
je 0x59d539
or esi, 0x80000
movzx edx, ax
mov ecx, edx
and ecx, ebx
je 0x59d56c
cmp ecx, 0x400
je 0x59d566
cmp ecx, 0x800
je 0x59d55e
cmp ecx, ebx
jne 0x59d56c
or esi, 0x300
jmp 0x59d56c
or esi, 0x200
jmp 0x59d56c
or esi, 0x100
and edx, 0x300
je 0x59d584
cmp edx, 0x200
jne 0x59d58a
or esi, 0x10000
jmp 0x59d58a
or esi, 0x20000
movzx eax, ax
mov edx, 0x1000
test edx, eax
je 0x59d59c
or esi, 0x40000
cmp dword [0x61e940], 1
jl 0x59d72f
and edi, 0x308031f
stmxcsr dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
mov eax, ecx
shr eax, 3
and eax, 0x10
test ecx, 0x200
je 0x59d5c9
or eax, 8
test ecx, 0x400
je 0x59d5d4
or eax, 4
test ecx, 0x800
je 0x59d5df
or eax, 2
test edx, ecx
je 0x59d5e6
or eax, 1
test ecx, 0x100
je 0x59d5f3
or eax, 0x80000
mov edx, ecx
mov ebx, 0x6000
and edx, ebx
je 0x59d625
cmp edx, 0x2000
je 0x59d620
cmp edx, 0x4000
je 0x59d619
cmp edx, ebx
jne 0x59d625
or eax, 0x300
jmp 0x59d625
or eax, 0x200
jmp 0x59d625
or eax, 0x100
push 0x40
and ecx, 0x8040
pop ebx
sub ecx, ebx
je 0x59d64c
sub ecx, 0x7fc0
je 0x59d645
sub ecx, ebx
jne 0x59d651
or eax, 0x1000000
jmp 0x59d651
or eax, 0x3000000
jmp 0x59d651
or eax, 0x2000000
mov ecx, edi
and edi, dword [ebp + 8]
not ecx
and ecx, eax
or ecx, edi
cmp ecx, eax
je 0x59d718
push ecx
call fcn.0059d2b0
push eax
mov dword [ebp - 0xc], eax
call fcn.0059aa38
pop ecx
pop ecx
stmxcsr dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov eax, ecx
shr eax, 3
and eax, 0x10
test ecx, 0x200
je 0x59d68f
or eax, 8
test ecx, 0x400
je 0x59d69a
or eax, 4
test ecx, 0x800
je 0x59d6a5
or eax, 2
test ecx, 0x1000
je 0x59d6b0
or eax, 1
test ecx, 0x100
je 0x59d6bd
or eax, 0x80000
mov edx, ecx
mov edi, 0x6000
and edx, edi
je 0x59d6ef
cmp edx, 0x2000
je 0x59d6ea
cmp edx, 0x4000
je 0x59d6e3
cmp edx, edi
jne 0x59d6ef
or eax, 0x300
jmp 0x59d6ef
or eax, 0x200
jmp 0x59d6ef
or eax, 0x100
and ecx, 0x8040
sub ecx, ebx
je 0x59d713
sub ecx, 0x7fc0
je 0x59d70c
sub ecx, ebx
jne 0x59d718
or eax, 0x1000000
jmp 0x59d718
or eax, 0x3000000
jmp 0x59d718
or eax, 0x2000000
mov ecx, eax
xor eax, esi
or ecx, esi
test eax, 0x8031f
je 0x59d72b
or ecx, 0x80000000
mov eax, ecx
jmp 0x59d731
mov eax, esi
pop edi
pop esi
pop ebx
leave
cmp edx, 0xc6478061
jg 0x59d743
cmp edx, 0xf4b3c44a
jl 0x59d74a
call fcn.0054a738
and ebx, edx
and eax, esi
ror ebx, 0x11
sub edx, ebp
not edi
shl edx, 0x15
ror ecx, 0xa
call fcn.004b5c88
mov ecx, 0x6fbf9478
test ebx, esp
jno 0x59d76f
and eax, dword [0x612580]
ror edx, 0xb
cmp dword [0x610b05], ebx
ja 0x59d780
and edi, 0x262c76ec
neg eax
dec eax
inc esi
not esi
call fcn.0044968c
and esi, 0x1e02927a
sub dword [0x61f319], eax
xor ebx, 0x188a6218
rol edx, 0x11
neg esi
or edx, ecx
dec esi
ror esi, 0x14
dec ecx
jne 0x59d765
mov ecx, 0x6e2aa756
add esi, dword [0x6179bb]
xchg esi, edx
add dword [0x61f362], eax
cmp ebp, edi
jno 0x59d7c9
add eax, 0xa020c740
call fcn.00578423
shr eax, 0xb
test dword [0x613c5c], edx
jbe 0x59d7db
not edi
inc edx
add esi, edi
dec ecx
jne 0x59d7b1
dec ebx
mov esi, 0xb6cedca7
dec edx
sub ebx, edi
neg esi
xor edi, eax
or esi, ebx
or edx, eax
shl edi, 0x1d
rol edx, 0x11
inc edi
not esi
dec edx
rol edi, 0x1b
xor ecx, 0xd914f48b
shl edi, 3
mov esi, 0x53ec3580
xor edi, dword [0x61ff5b]
call fcn.00474d2e
add ecx, edx
sub eax, 0x514b7c8d
inc eax
and dword [0x61f2dd], ebx
popal
add byte [eax + 1], cl
adc eax, 0x61f610
xor ecx, eax
sub esi, dword [0x61ff45]
xor eax, 0xe7e43269
or ebx, dword [0x61fac9]
mov dword [0x61f172], eax
and dword [0x61f74e], ecx
xor eax, 0xe7e43269
xor ecx, eax
sub dword [0x61f5f8], ecx
inc eax
mov dword [0x61f854], edx
dec eax
add eax, 0x514b7c8d
sub ecx, edx
call fcn.005054eb
add esi, 0x65310949
call fcn.005242be
not esi
xchg ecx, esi
sub edi, 0xb6e10a6f
add ecx, ebp
dec edx
or dword [0x61f2da], 0xda5414a0
or edi, dword [0x61fc7c]
sub eax, edi
call fcn.00433139
call fcn.0053c382
add eax, edi
or dword [0x61f693], 0x4e485701
inc edx
sub ecx, ebp
add edi, 0xb6e10a6f
xchg ecx, esi
not esi
add esi, 0x46e2c137
xor edx, dword [0x61ff74]
je 0x59d8c8
popal
add byte [ecx + 0x633b67e8], al
imul ecx, dword [ecx], 0x61f15e05
add byte [ebx], ch
or eax, 0x61fd2c
xor eax, dword [0x61fd6e]
add dword [0x61f41c], edi
xor ebx, 0x8a883efe
invalid
invalid
invalid
invalid