Function at 0x6fe3b2b7
Capabilities:
Encode data using xor
Hash data using murmur3

Disassembly:
cmp dword [eax], edi
jae 0x6fe3b2c6
add eax, dword [eax + 4]
cmp eax, dword [ebp - 0xe0]
jne fcn.6fe3b2b7
mov edx, 0xfff
and dword [ebp - 0xd8], 0
cmp eax, dword [ebp - 0xe0]
je 0x6fe3b308
cmp dword [eax], edi
jne 0x6fe3b308
mov ecx, dword [eax + 4]
sub ecx, 8
shr ecx, 1
je 0x6fe3b308
lea edi, [eax + 8]
movzx ebx, word [edi]
and ebx, edx
cmp ebx, dword [ebp - 0xd0]
jae 0x6fe3b308
inc dword [ebp - 0xd8]
inc edi
inc edi
cmp dword [ebp - 0xd8], ecx
jne 0x6fe3b2eb
mov edi, 0x3f1f8bb1
cmp eax, dword [ebp - 0xe0]
je 0x6fe3b44b
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0xe8]
ja 0x6fe3b44b
mov ebx, dword [ebp - 0xd8]
mov ecx, dword [eax + 4]
add ecx, 0xfffffff8
shr ecx, 1
cmp ebx, ecx
jne 0x6fe3b35a
add eax, dword [eax + 4]
cmp eax, dword [ebp - 0xe0]
je 0x6fe3b44b
mov ecx, dword [ebp - 0xe8]
cmp dword [eax], ecx
ja 0x6fe3b44b
xor ebx, ebx
jmp 0x6fe3b32d
mov ecx, dword [ebp - 0xe8]
cmp dword [eax], ecx
jne 0x6fe3b377
movzx ecx, word [eax + ebx*2 + 8]
and ecx, edx
cmp ecx, dword [ebp - 0xe4]
jae 0x6fe3b44b
mov ecx, ebx
inc ebx
mov dword [ebp - 0xd8], ebx
mov ebx, 0xf000
test word [eax + ecx*2 + 8], bx
je 0x6fe3b30d
movzx ecx, word [eax + ecx*2 + 8]
and ecx, edx
mov edx, dword [eax]
lea ecx, [ecx + edx + 0x6fa60000]
xor ebx, ebx
mov dword [ebp - 0x5c], ecx
sub dword [ebp - 0x5c], esi
mov dword [ebp - 0xd0], ecx
je 0x6fe3b3e9
movzx edx, byte [ebx + esi]
sub edx, edi
add dword [ebp - 0x68], edx
add edx, dword [ebp - 0x64]
mov ecx, edx
imul ecx, ecx, 0x15
rol ecx, 0xf
ror edx, 0xf
xor ecx, edx
imul ecx, ecx, 0xc0e0744f
ror ecx, 0x15
mov edx, ecx
imul edx, edx, 0x15
rol edx, 0xf
ror ecx, 0xf
xor edx, ecx
mov ecx, edx
add dword [ebp - 0x68], ecx
inc ebx
mov dword [ebp - 0x64], edx
cmp ebx, dword [ebp - 0x5c]
jb 0x6fe3b3ac
mov esi, dword [ebp - 0xd0]
mov ecx, dword [esi]
sub ecx, dword [ebp - 0xfc]
xor ebx, ebx
mov dword [ebp - 0xf8], ecx
movzx edx, byte [ebp + ebx - 0xf8]
sub edx, edi
add dword [ebp - 0x68], edx
add edx, dword [ebp - 0x64]
mov ecx, edx
imul ecx, ecx, 0x15
rol ecx, 0xf
ror edx, 0xf
xor ecx, edx
imul ecx, ecx, 0xc0e0744f
ror ecx, 0x15
mov edx, ecx
imul edx, edx, 0x15
rol edx, 0xf
ror ecx, 0xf
xor edx, ecx
add dword [ebp - 0x68], edx
inc ebx
cmp ebx, 4
mov dword [ebp - 0x64], edx
jb 0x6fe3b3ff
mov edx, 0xfff
add esi, 4
jmp 0x6fe3b30d
xor edx, edx
mov ebx, dword [ebp - 0xd4]
sub ebx, esi
je 0x6fe3b491
movzx ecx, byte [edx + esi]
sub ecx, edi
add dword [ebp - 0x68], ecx
add ecx, dword [ebp - 0x64]
mov eax, ecx
imul eax, eax, 0x15
rol eax, 0xf
ror ecx, 0xf
xor eax, ecx
imul eax, eax, 0xc0e0744f
ror eax, 0x15
mov ecx, eax
imul ecx, ecx, 0x15
rol ecx, 0xf
ror eax, 0xf
xor ecx, eax
add dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
inc edx
cmp edx, ebx
jb 0x6fe3b457
xor edi, edi
xor eax, eax
mov ecx, eax
and ecx, 7
mov cl, byte [ebp + ecx - 0x68]
mov byte [ebp + eax - 0x54], cl
inc eax
cmp eax, 0x10
jb 0x6fe3b495
mov eax, 0xc3794d75
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x138], eax
mov dword [ebp - 0x110], eax
mov eax, dword [0x6fb3fedc]
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x13c], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x128], ecx
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x114], ecx
lea ecx, [ebp - 0x44]
sub eax, ecx
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x108], edx
mov dword [ebp - 0x104], esi
mov dword [ebp - 0x124], edi
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x11c], edi
mov dword [ebp - 0x118], edi
mov dword [ebp - 0xd4], eax
push 0x10
lea esi, [ebp - 0x13c]
pop ecx
lea edi, [ebp - 0xc0]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xc0]
mov dword [ebp - 0x5c], 3
mov ebx, dword [ebp - 0xbc]
lea edi, [edx + esi]
rol edi, 7
xor eax, edi
lea edi, [esi + eax]
rol edi, 9
xor ecx, edi
lea edi, [eax + ecx]
rol edi, 0xd
xor edx, edi
lea edi, [ecx + edx]
ror edi, 0xe
xor esi, edi
mov edi, dword [ebp - 0xac]
add ebx, edi
rol ebx, 7
xor dword [ebp - 0x9c], ebx
mov ebx, dword [ebp - 0x9c]
add edi, ebx
rol edi, 9
xor dword [ebp - 0x8c], edi
mov edi, ebx
mov ebx, dword [ebp - 0x8c]
add ebx, edi
mov edi, dword [ebp - 0x8c]
rol ebx, 0xd
xor dword [ebp - 0xbc], ebx
mov ebx, dword [ebp - 0xbc]
add edi, ebx
ror edi, 0xe
mov ebx, dword [ebp - 0x98]
xor dword [ebp - 0xac], edi
mov edi, dword [ebp - 0xa8]
add edi, ebx
rol edi, 7
xor dword [ebp - 0x88], edi
mov edi, ebx
mov ebx, dword [ebp - 0x88]
add edi, ebx
rol edi, 9
xor dword [ebp - 0xb8], edi
mov edi, ebx
mov ebx, dword [ebp - 0xb8]
add ebx, edi
rol ebx, 0xd
mov edi, dword [ebp - 0xb8]
xor dword [ebp - 0xa8], ebx
mov ebx, dword [ebp - 0xa8]
add edi, ebx
mov ebx, dword [ebp - 0x84]
ror edi, 0xe
xor dword [ebp - 0x98], edi
mov edi, dword [ebp - 0x94]
add edi, ebx
rol edi, 7
xor dword [ebp - 0xb4], edi
mov edi, ebx
mov ebx, dword [ebp - 0xb4]
add edi, ebx
rol edi, 9
xor dword [ebp - 0xa4], edi
mov edi, ebx
mov ebx, dword [ebp - 0xa4]
add ebx, edi
rol ebx, 0xd
mov edi, dword [ebp - 0xa4]
xor dword [ebp - 0x94], ebx
mov ebx, dword [ebp - 0x94]
add edi, ebx
ror edi, 0xe
xor dword [ebp - 0x84], edi
mov edi, dword [ebp - 0xb4]
add edi, esi
rol edi, 7
xor dword [ebp - 0xbc], edi
mov edi, dword [ebp - 0xbc]
add edi, esi
rol edi, 9
xor dword [ebp - 0xb8], edi
mov ebx, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xbc]
add ebx, edi
mov edi, dword [ebp - 0xb8]
rol ebx, 0xd
xor dword [ebp - 0xb4], ebx
mov ebx, dword [ebp - 0xb4]
add ebx, edi
mov edi, dword [ebp - 0xac]
add edi, eax
ror ebx, 0xe
xor esi, ebx
rol edi, 7
xor dword [ebp - 0xa8], edi
mov ebx, dword [ebp - 0xa8]
mov edi, dword [ebp - 0xac]
add ebx, edi
rol ebx, 9
mov edi, dword [ebp - 0xa8]
xor dword [ebp - 0xa4], ebx
mov ebx, dword [ebp - 0xa4]
add ebx, edi
mov edi, dword [ebp - 0xa4]
rol ebx, 0xd
xor eax, ebx
add edi, eax
mov ebx, dword [ebp - 0x9c]
ror edi, 0xe
xor dword [ebp - 0xac], edi
mov edi, dword [ebp - 0x98]
add edi, ebx
rol edi, 7
xor dword [ebp - 0x94], edi
mov edi, dword [ebp - 0x98]
mov ebx, dword [ebp - 0x94]
add ebx, edi
rol ebx, 9
mov edi, dword [ebp - 0x94]
xor ecx, ebx
mov ebx, dword [ebp - 0x88]
add edi, ecx
rol edi, 0xd
xor dword [ebp - 0x9c], edi
mov edi, dword [ebp - 0x9c]
add edi, ecx
ror edi, 0xe
xor dword [ebp - 0x98], edi
mov edi, dword [ebp - 0x84]
add edi, ebx
rol edi, 7
xor edx, edi
mov edi, dword [ebp - 0x84]
add edi, edx
rol edi, 9
xor dword [ebp - 0x8c], edi
mov edi, dword [ebp - 0x8c]
add edi, edx
rol edi, 0xd
xor dword [ebp - 0x88], edi
mov ebx, dword [ebp - 0x88]
mov edi, dword [ebp - 0x8c]
add ebx, edi
ror ebx, 0xe
xor dword [ebp - 0x84], ebx
dec dword [ebp - 0x5c]
jne 0x6fe3b576
mov dword [ebp - 0x90], edx
xor edx, edx
push 0x40
mov dword [ebp - 0xb0], eax
xor eax, eax
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0xc0], esi
pop ebx
mov ecx, dword [ebp + eax - 0x13c]
add dword [ebp + eax - 0xc0], ecx
add eax, 4
cmp eax, ebx
jl 0x6fe3b7e8
lea esi, [ebp - 0xc0]
inc dword [ebp - 0x11c]
lea edi, [ebp - 0x44]
push 0x10
pop ecx
rep movsd dword es:[edi], dword [esi]
cmp dword [ebp - 0x60], ebx
jbe 0x6fe3b84f
mov eax, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xcc]
lea edi, [esi + eax]
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + edi]
xor al, byte [ecx]
xor byte [ebp - 0x55], al
inc edx
mov byte [esi + ecx], al
cmp edx, ebx
jb 0x6fe3b825
sub dword [ebp - 0x60], ebx
add dword [ebp - 0x78], ebx
add esi, ebx
add dword [ebp - 0x80], ebx
mov dword [ebp - 0xcc], esi
jmp 0x6fe3b546
cmp dword [ebp - 0x60], edx
jbe 0x6fe3b876
mov edi, dword [ebp - 0x78]
mov esi, dword [ebp - 0x80]
lea eax, [ebp - 0x44]
sub esi, eax
sub edi, eax
lea ecx, [ebp + edx - 0x44]
mov al, byte [ecx + esi]
xor al, byte [ecx]
xor byte [ebp - 0x55], al
mov byte [ecx + edi], al
inc edx
cmp edx, dword [ebp - 0x60]
jb 0x6fe3b861
mov edi, 0x6fa60000
mov ebx, 0xfffff000
mov esi, dword [ebp - 0x74]
mov eax, dword [ebp - 0x6c]
movzx eax, byte [eax + 8]
movzx ecx, byte [ebp - 0x55]
sub ecx, eax
je 0x6fe3b928
call fcn.6fe2d088
mov edx, 0xffff
mov edi, dword [ebp - 0xc4]
mov esi, eax
mov eax, dword [ebp - 0xec]
and edi, 0xfffffffc
mov dword [eax + 8], 0x6fa95b1e
lea ecx, [edi + 0xfff]
and esi, ebx
and ecx, ebx
xor eax, eax
mov ebx, dword [0x6fb3f040]
imul ebx, ebx, 0x343fd
add ebx, 0x269ec3
mov dword [0x6fb3f040], ebx
shr ebx, 0x10
shl eax, 0x10
shr edx, 0x10
or eax, ebx
test edx, edx
jne 0x6fe3b8c4
mov ebx, 0xffff
div ebx
mov eax, edi
mov dword [ebp - 0x150], esi
inc edx
cmp edi, ecx
mov dword [ebp - 0x154], edx
mov dword [ebp - 0xc4], 0
jae 0x6fe3b91e
mov edx, dword [ebp - 0xc4]
mov dword [eax], edx
add eax, 4
cmp eax, ecx
jb 0x6fe3b90f
mov eax, 0x6fa95b1e
jmp 0x6fe3b9fe
mov ecx, dword [0x6fa6c370]
mov eax, dword [ebp - 0xc8]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x74], eax
sub edi, ecx
mov dword [ebp - 0x6c], edi
jne 0x6fe3b949
test eax, eax
je 0x6fe3b9f1
mov eax, dword [ebp - 0x7c]
mov ecx, dword [0x6fa64370]
mov edi, dword [ebp - 0x70]
sub edi, dword [ebp - 0xc8]
add eax, esi
xor esi, esi
mov dword [ebp - 0xc4], eax
dec ecx
js 0x6fe3b990
lea eax, [ecx + esi]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [eax*4 + 0x6fa64374]
and edx, 0xfffffff
cmp dword [ebp - 0x7c], edx
jae 0x6fe3b987
lea ecx, [eax - 1]
jmp 0x6fe3b98c
jbe 0x6fe3b994
lea esi, [eax + 1]
cmp ecx, esi
jge 0x6fe3b968
mov ebx, esi
jmp 0x6fe3b9e9
mov ebx, eax
jmp 0x6fe3b9e9
mov eax, dword [ebx*4 + 0x6fa64374]
mov ecx, eax
and ecx, 0xfffffff
cmp ecx, dword [ebp - 0xc4]
jae 0x6fe3b9f1
lea esi, [ecx + edi + 0x6fa60000]
mov ecx, eax
shl ecx, 2
sar ecx, 0x1e
sar eax, 0x1e
and ecx, 3
and eax, 3
xor edx, edx
dec ecx
je 0x6fe3b9dc
dec ecx
je 0x6fe3b9d7
dec ecx
jne 0x6fe3b9e2
mov edx, dword [ebp - 0x6c]
jmp 0x6fe3b9e2
mov edx, dword [ebp - 0x74]
jmp 0x6fe3b9e2
mov edx, dword [ebp - 0x6c]
sub edx, dword [ebp - 0x74]
dec eax
dec eax
jne 0x6fe3b9e8
add dword [esi], edx
inc ebx
cmp ebx, dword [0x6fa64370]
jb 0x6fe3b998
mov eax, dword [0x6faa7b94]
mov eax, 0xb5e2504f
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0xec]
mov dword [ecx + 8], eax
mov ebx, dword [ebp - 0x14c]
mov ecx, dword [ebp - 0x154]
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp - 0x148]
mov eax, dword [ebp - 0x144]
mov edx, dword [ebp - 0x150]
mov esp, ebp
pop ebp
popfd
ret