Function at 0x4bf106
Capabilities:
Encode data using xor

Disassembly:
inc dword [ebp + 8]
mov ecx, 0x6aa640
test edx, edx
jne 0x4bf119
xor eax, eax
jmp 0x1183701
xor eax, 0xffffffff
cmp ebx, 8
jb 0x764af1e1
movzx esi, byte [edx]
xor esi, eax
and esi, 0x32e852ff
mov esi, dword [ecx + esi*4]
shr eax, 8
xor esi, eax
mov eax, esi
inc edx
movzx esi, byte [edx]
xor esi, eax
and esi, 0x32e852ff
mov esi, dword [ecx + esi*4]
shr eax, 8
xor esi, eax
mov eax, esi
inc edx
movzx esi, byte [edx]
xor esi, eax
and esi, 0x32e852ff
mov esi, dword [ecx + esi*4]
shr eax, 8
xor esi, eax
mov eax, esi
inc edx
movzx esi, byte [edx]
xor esi, eax
and esi, 0x32e852ff
mov esi, dword [ecx + esi*4]
shr eax, 8
xor esi, eax
mov eax, esi
inc edx
movzx esi, byte [edx]
xor esi, eax
and esi, 0x32e852ff
mov esi, dword [ecx + esi*4]
shr eax, 8
xor esi, eax
mov eax, esi
inc edx
movzx esi, byte [edx]
xor esi, eax
and esi, 0x32e852ff
mov esi, dword [ecx + esi*4]
shr eax, 8
xor esi, eax
mov eax, esi
inc edx
movzx esi, byte [edx]
xor esi, eax
and esi, 0x32e852ff
mov esi, dword [ecx + esi*4]
shr eax, 8
xor esi, eax
mov eax, esi
inc edx
movzx esi, byte [edx]
xor esi, eax
and esi, 0x32e852ff
mov esi, dword [ecx + esi*4]
shr eax, 8
xor esi, eax
mov eax, esi
inc edx
sub ebx, 8
cmp ebx, 8
jae 0x9bf125
test ebx, ebx
je 0x4bf1fe
movzx esi, byte [edx]
xor esi, eax
and esi, 0x32e852ff
mov esi, dword [ecx + esi*4]
shr eax, 8
xor esi, eax
mov eax, esi
inc edx
dec ebx
jne 0x4bf1e5
xor eax, 0xffffffff
pop esi
pop ebx
idiv edi
dec dword [ebx + 0x57c35d9d]
mov edi, edi
std
mov eax, dword [ebp + 8]
mov ebx, eax
and ebx, 0x32e8ffff
mov edi, eax
shr edi, 0x10
and edi, 0x32e8ffff
test esi, esi
jne 0x4bf232
lock add dword [edx + edi + 0x53], eax
jmp 0x4bf334
cmp dword [ebp + 0x10], 0
jbe 0xcc90f32d
cmp dword [ebp + 0x10], 0x15b0
jae 0x4bf24a
mov eax, dword [ebp + 0x10]
jmp 0x4bf24f
mov eax, 0x15b0
sub dword [ebp + 0x10], eax
cmp eax, 0x10
jl 0x3dcef2f9
fdivr st(7)
mov dl, byte [esi]
add ebx, edx
add edi, ebx
xor ecx, ecx
mov cl, byte [esi + 1]
add ebx, ecx
add edi, ebx
xor edx, edx
mov dl, byte [esi + 2]
add ebx, edx
add edi, ebx
xor ecx, ecx
mov cl, byte [esi + 3]
add ebx, ecx
add edi, ebx
xor edx, edx
mov dl, byte [esi + 4]
add ebx, edx
add edi, ebx
xor ecx, ecx
mov cl, byte [esi + 5]
add ebx, ecx
add edi, ebx
xor edx, edx
mov dl, byte [esi + 6]
add ebx, edx
add edi, ebx
xor ecx, ecx
mov cl, byte [esi + 7]
add ebx, ecx
add edi, ebx
xor edx, edx
mov dl, byte [esi + 8]
add ebx, edx
add edi, ebx
xor ecx, ecx
mov cl, byte [esi + 9]
add ebx, ecx
add edi, ebx
xor edx, edx
mov dl, byte [esi + 0xa]
add ebx, edx
add edi, ebx
xor ecx, ecx
mov cl, byte [esi + 0xb]
add ebx, ecx
add edi, ebx
xor edx, edx
mov dl, byte [esi + 0xc]
add ebx, edx
add edi, ebx
xor ecx, ecx
mov cl, byte [esi + 0xd]
add ebx, ecx
add edi, ebx
xor edx, edx
mov dl, byte [esi + 0xe]
add ebx, edx
add edi, ebx
xor ecx, ecx
mov cl, byte [esi + 0xf]
add ebx, ecx
add edi, ebx
add esi, 0x10
sub eax, 0x10
cmp eax, 0x10
jge 0x9bf25b
test eax, eax
je 0x4bf309
fdivr st(7)
mov dl, byte [esi]
add ebx, edx
inc esi
add edi, ebx
dec eax
jne 0x4bf2fd
mov ecx, 0x32e8fff1
mov eax, ebx
fdivr st(7)
div ecx
mov ebx, edx
mov ecx, 0x32e8fff1
mov eax, edi
fdivr st(7)
div ecx
mov edi, edx
cmp dword [ebp + 0x10], 0
ja 0x9bf23c
mov eax, edi
shl eax, 0x10
or eax, ebx
pop edi
pop esi
pop ebx
idiv edi
dec dword [ebx + 0x7d8b559d]
or byte [ebx + 0xee3104d], cl
push cs
mov al, byte [ebp + 0xc]
cld
repne scasb al, byte es:[edi]
jne 0x4bf353
lea eax, [edi - 1]
pop edi
pop ebp
ret
add eax, eax
jmp 0x4bf350