Function at 0x100a03a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x54
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x100b4c70
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x1028d508]
mov ecx, dword [0x1028d50c]
sub eax, ecx
mov ecx, 0xc357be5
mul ecx
mov ecx, edx
mov edx, dword [ebp - 0x20]
shr ecx, 0x1b
mov eax, ecx
or eax, 0x440e8080
not ecx
and ecx, 0x20004a45
imul ecx, ecx, 0x93210512
imul eax, eax, 0xf72fcfd7
add eax, ecx
mov dword [ebp - 0x2c], eax
push eax
mov eax, esp
mov dword [ebp - 0x34], eax
push eax
mov ecx, esp
mov dword [ebp - 0x48], ecx
push eax
mov esi, esp
mov dword [ebp - 0x38], esi
push eax
mov esi, esp
mov dword [ebp - 0x30], esi
push eax
mov esi, esp
mov dword [ebp - 0x44], esi
push eax
mov esi, esp
mov dword [ebp - 0x40], esi
push eax
mov esi, esp
mov dword [ebp - 0x3c], esi
mov dword [eax], edx
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100bb00d
mov eax, dword [ebp - 0x38]
mov ecx, dword [0x10295e24]
mov dword [eax], ecx
lea ecx, [0x10295e20]
call fcn.1003f060
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov dword [ecx], esi
mov edx, dword [edx]
mov dword [ebp - 0x28], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x24], ecx
cmp eax, 0xc5732ac2
jae 0x100a06cd
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.1003f4f0
mov dword [ebp - 0x4c], eax
jmp 0x100a04a7
mov eax, dword [0x1028d510]
or eax, dword [0x1028d514]
sub eax, 0x91939ab4
mov edx, eax
and edx, 0x8ab12410
mov ecx, eax
or ecx, 0x8ab12410
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x754edbef
or eax, 0x754edbef
imul eax, edx
add eax, ecx
xor eax, 0x6d3d7594
cmp eax, 0x950192d0
je 0x100a0717
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
cmp dword [eax], 0
jne 0x100a06a8
mov eax, dword [ebp - 0x38]
cmp dword [eax], 0
je 0x100a051b
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x38]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x100a06a8
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100a0d40
add esp, 8
mov dword [ebp - 0x50], eax
jmp 0x100a053d
mov eax, dword [ebp - 0x50]
cmp eax, 0xffffffff
jne 0x100a05b3
mov eax, dword [0x1028d528]
mov esi, dword [0x1028d52c]
mov edi, esi
xor edi, 0xffffffff
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, esi
or eax, esi
imul eax, edx
add eax, ecx
and eax, 0xdb08352d
mov ecx, eax
and ecx, 0xbb2f35f8
shl ecx, 1
xor eax, 0xbb2f35f8
add eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x3d6bc26f
add eax, ecx
cmp eax, 0x5253f570
ja 0x100a0549
mov dword [ebp - 0x10], 0
call fcn.100400c0
jmp 0x100a05b3
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov edx, dword [edx]
mov dword [eax], edx
mov edx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.10040190
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
mov dword [ebp - 0x10], 1
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.100bb1eb
add esp, 4
jmp 0x100a05ee
mov eax, dword [0x1028d548]
xor edx, edx
div dword [0x1028d54c]
mov edx, eax
mov eax, dword [ebp - 0x40]
and edx, 0x956e2611
mov ecx, edx
and ecx, 0x41166fec
xor edx, 0x41166fec
or ecx, edx
add ecx, 0xef360647
add ecx, 1
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x3c]
mov esi, dword [edx]
mov dword [0x10295e24], esi
mov edx, dword [edx]
mov dword [eax], edx
call fcn.100401e0
mov ecx, dword [ebp - 0x3c]
call fcn.10040230
mov eax, dword [ebp - 0x54]
cmp eax, 0x34921308
ja 0x100a05ee
mov eax, dword [0x1028d550]
xor edx, edx
div dword [0x1028d554]
sub eax, 0x5021cb52
mov edx, eax
and edx, 0xa3cba296
mov ecx, eax
or ecx, 0xa3cba296
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x5c345d69
or eax, 0x5c345d69
imul eax, edx
add eax, ecx
sub eax, 0x900edea1
cmp eax, 0x65108e65
je 0x100a0724
jmp 0x100a06a8
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
mov dword [ebp - 0x58], eax
call fcn.100bb03e
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [ebp - 0x20]
push eax
mov eax, esp
push eax
mov ecx, esp
push eax
mov esi, esp
mov dword [ebp - 0x60], esi
push eax
mov esi, esp
mov dword [ebp - 0x5c], esi
mov dword [eax], edx
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100bb00d
mov eax, dword [ebp - 0x60]
mov ecx, dword [0x10295e24]
mov dword [eax], ecx
lea ecx, [0x10295e20]
call fcn.1003f060
mov ecx, eax
mov eax, dword [ebp - 0x5c]
mov dword [eax], ecx
jmp 0x100a03d5
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
jmp 0x100a04ef
jmp 0x100a06a8