Function at 0x10008220
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x100e5900]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [ebp - 0x34], eax
add eax, 0x44
mov dword [ebp - 0x2c], 0xd
push edi
mov esi, dword [eax + 0x18]
mov edi, dword [eax - 0x1c]
mov ebx, dword [eax]
rol esi, 0xf
mov edx, esi
xor edx, edi
xor edx, ebx
mov ecx, edx
rol ecx, 0x17
rol edx, 0xf
xor ecx, edx
mov edx, dword [eax - 0x10]
rol edx, 7
xor ecx, edx
xor ecx, esi
xor ecx, dword [eax + 0xc]
mov esi, dword [eax + 0x1c]
xor ecx, edi
xor ecx, ebx
mov edi, dword [eax - 0xc]
rol esi, 0xf
mov edx, esi
xor edx, dword [eax + 4]
mov dword [eax + 0x24], ecx
xor edx, dword [eax - 0x18]
rol edi, 7
mov ebx, edx
rol ebx, 0x17
xor edi, ebx
rol edx, 0xf
xor edi, edx
xor edi, dword [eax + 0x10]
add eax, 0x10
xor edi, esi
xor edi, dword [eax - 0xc]
mov esi, dword [eax + 0x10]
xor edi, dword [eax - 0x28]
rol esi, 0xf
mov dword [eax + 0x18], edi
mov edi, dword [eax - 0x18]
mov edx, esi
xor edx, dword [eax - 8]
xor edx, dword [eax - 0x24]
rol edi, 7
mov ebx, edx
rol ebx, 0x17
xor edi, ebx
rol edx, 0xf
xor edi, edx
xor edi, dword [eax + 4]
xor edi, esi
xor edi, dword [eax - 8]
mov esi, dword [eax - 0x20]
xor edi, dword [eax - 0x24]
rol ecx, 0xf
mov dword [ebp - 0x28], ecx
mov dword [eax + 0x1c], edi
mov edi, dword [eax - 4]
mov edx, esi
xor edx, edi
xor edx, ecx
mov ecx, dword [eax - 0x14]
rol ecx, 7
mov ebx, edx
rol ebx, 0x17
xor ecx, ebx
rol edx, 0xf
xor ecx, edx
xor ecx, esi
xor ecx, edi
xor ecx, dword [eax + 8]
xor ecx, dword [ebp - 0x28]
dec dword [ebp - 0x2c]
mov dword [eax + 0x20], ecx
jne 0x10008243
mov ecx, dword [ebp - 0x34]
lea ebx, [ecx + 0x28]
mov eax, ebx
mov edx, 0x10
mov esi, dword [eax + 0x10]
xor esi, dword [eax]
add eax, 0x10
mov dword [eax + 0x100], esi
mov esi, dword [eax + 4]
xor esi, dword [eax - 0xc]
mov dword [eax + 0x104], esi
mov esi, dword [eax + 8]
xor esi, dword [eax - 8]
mov dword [eax + 0x108], esi
mov esi, dword [eax + 0xc]
xor esi, dword [eax - 4]
dec edx
mov dword [eax + 0x10c], esi
jne 0x10008318
mov edx, dword [ecx]
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 4]
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + 0x14]
mov dword [ebp - 0x24], edx
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [ebp - 0x18], edx
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x1c]
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], ecx
xor eax, eax
jmp 0x10008380
mov ecx, dword [ebp - 0x24]
mov edi, dword [eax*4 + 0x100de528]
rol ecx, 0xc
mov dword [ebp - 0x2c], ecx
mov cl, al
and cl, 0x1f
rol edi, cl
mov ecx, dword [ebp - 0x2c]
add edi, ecx
add edi, edx
rol edi, 7
xor ecx, edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], ecx
cmp eax, 0x10
jge 0x100083b8
mov edi, dword [ebp - 0x1c]
xor edi, esi
xor edi, dword [ebp - 0x24]
jmp 0x100083cc
mov ecx, esi
or ecx, dword [ebp - 0x24]
and ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x28], ecx
mov edi, ecx
mov ecx, esi
and ecx, dword [ebp - 0x24]
or edi, ecx
mov ecx, dword [ebx + 0x110]
add ecx, edi
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
cmp eax, 0x10
jge 0x100083ec
mov ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
xor ecx, edx
jmp 0x100083fa
mov edi, dword [ebp - 0x10]
mov ecx, edx
not ecx
and ecx, dword [ebp - 0xc]
and edi, edx
or ecx, edi
add ecx, dword [ebp - 8]
mov edi, dword [ebp - 0x1c]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x18], edi
add ecx, dword [ebx]
rol esi, 9
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x1c], esi
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x20], esi
mov esi, dword [ebp - 0xc]
mov dword [ebp - 8], esi
mov esi, dword [ebp - 0x10]
rol esi, 0x13
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], esi
mov esi, ecx
rol esi, 0x11
mov edx, ecx
rol edx, 9
xor esi, edx
mov edx, dword [eax*4 + 0x100de52c]
xor esi, ecx
lea ecx, [eax + 1]
and cl, 0x1f
mov dword [ebp - 0x24], edi
rol edi, 0xc
rol edx, cl
lea ecx, [eax + 1]
add edx, edi
add edx, esi
rol edx, 7
xor edi, edx
mov dword [ebp - 0x2c], edi
cmp ecx, 0x10
jge 0x1000846b
mov edi, dword [ebp - 0x1c]
xor edi, dword [ebp - 0x20]
xor edi, dword [ebp - 0x28]
jmp 0x10008482
mov ecx, dword [ebp - 0x20]
or ecx, dword [ebp - 0x28]
and ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x30]
or edi, ecx
mov ecx, dword [ebx + 0x114]
add ecx, edi
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
lea ecx, [eax + 1]
cmp ecx, 0x10
jge 0x100084a5
mov edi, dword [ebp - 0xc]
xor edi, dword [ebp - 0x10]
xor edi, esi
jmp 0x100084b3
mov ecx, dword [ebp - 0x10]
mov edi, esi
not edi
and edi, dword [ebp - 0xc]
and ecx, esi
or edi, ecx
mov ecx, dword [ebx + 4]
add ecx, edi
add ecx, dword [ebp - 8]
mov edi, dword [ebp - 0xc]
add ecx, edx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x20]
rol edx, 9
mov dword [ebp - 8], edi
mov edi, dword [ebp - 0x10]
rol edi, 0x13
mov dword [ebp - 0xc], edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x24]
mov edi, ecx
rol edi, 0x11
mov esi, ecx
rol esi, 9
xor edi, esi
xor edi, ecx
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0x28]
mov esi, edx
mov dword [ebp - 0x24], edx
mov edx, dword [eax*4 + 0x100de530]
rol esi, 0xc
lea ecx, [eax + 2]
and cl, 0x1f
rol edx, cl
lea ecx, [eax + 2]
add edx, esi
add edx, edi
rol edx, 7
xor esi, edx
mov dword [ebp - 0x2c], esi
cmp ecx, 0x10
jge 0x1000852b
mov esi, dword [ebp - 0x1c]
xor esi, dword [ebp - 0x20]
xor esi, dword [ebp - 0x28]
jmp 0x10008542
mov ecx, dword [ebp - 0x20]
or ecx, dword [ebp - 0x28]
and ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
or esi, ecx
mov ecx, dword [ebx + 0x118]
add ecx, esi
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x28], ecx
lea ecx, [eax + 2]
cmp ecx, 0x10
jge 0x10008565
mov esi, dword [ebp - 0xc]
xor esi, dword [ebp - 0x10]
xor esi, edi
jmp 0x10008573
mov ecx, dword [ebp - 0x10]
mov esi, edi
not esi
and esi, dword [ebp - 0xc]
and ecx, edi
or esi, ecx
mov ecx, dword [ebx + 8]
add ecx, esi
add ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x28]
add ecx, edx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x20]
rol edx, 9
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x20], edx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x10]
rol edx, 0x13
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], edi
mov edi, ecx
rol edi, 0x11
mov edx, ecx
rol edx, 9
xor edi, edx
mov edx, dword [eax*4 + 0x100de534]
xor edi, ecx
lea ecx, [eax + 3]
and cl, 0x1f
mov dword [ebp - 0x24], esi
rol esi, 0xc
rol edx, cl
lea ecx, [eax + 3]
mov dword [ebp - 0x38], ecx
add edx, esi
add edx, edi
rol edx, 7
xor esi, edx
mov dword [ebp - 0x2c], esi
cmp ecx, 0x10
jge 0x100085ec
mov esi, dword [ebp - 0x1c]
xor esi, dword [ebp - 0x20]
xor esi, dword [ebp - 0x28]
jmp 0x10008603
mov ecx, dword [ebp - 0x20]
or ecx, dword [ebp - 0x28]
and ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x30], ecx
mov ecx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x30]
or esi, ecx
mov ecx, dword [ebx + 0x11c]
add ecx, esi
add ecx, dword [ebp - 0x18]
add ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x38], 0x10
mov dword [ebp - 0x28], ecx
jge 0x10008624
mov esi, dword [ebp - 0xc]
xor esi, dword [ebp - 0x10]
xor esi, edi
jmp 0x10008632
mov ecx, dword [ebp - 0x10]
mov esi, edi
not esi
and esi, dword [ebp - 0xc]
and ecx, edi
or esi, ecx
mov ecx, dword [ebx + 0xc]
add ecx, esi
add ecx, dword [ebp - 8]
mov esi, dword [ebp - 0x24]
add ecx, edx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
mov edx, dword [ebp - 0x20]
rol edx, 9
mov dword [ebp - 0x1c], edx
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x24], edx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 8], edx
mov edx, dword [ebp - 0x10]
rol edx, 0x13
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x10], edi
mov edx, ecx
rol edx, 0x11
mov edi, ecx
rol edi, 9
xor edx, edi
add eax, 4
xor edx, ecx
add ebx, 0x10
cmp eax, 0x40
jl 0x10008380
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
xor dword [eax], ecx
mov ecx, dword [ebp - 0x1c]
xor dword [eax + 8], ecx
mov ecx, dword [ebp - 0x18]
xor dword [eax + 0xc], ecx
xor dword [eax + 0x10], edx
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
xor dword [eax + 0x18], ecx
xor dword [eax + 4], esi
xor dword [eax + 0x14], edx
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
xor dword [eax + 0x1c], edx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10077184
mov esp, ebp
pop ebp
ret