Function at 0x100408cb
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x10065113
call fcn.10064168
sub esp, 0x68
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
xor esi, esi
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x38], edi
cmp dword [edi + 0x10], esi
jne 0x100408f4
xor al, al
jmp 0x10040bab
mov dword [ebp - 0x30], 0xe6bc044b
xor ebx, ebx
mov dword [ebp - 0x34], 0x5cd3860a
inc ebx
mov dword [ebp - 0x18], esi
jmp 0x10040918
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x14], 0x831713b9
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x1004090a
mov dword [ebp - 0x14], 0xffffffe7
jmp 0x10040980
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x18], esi
jmp 0x10040940
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x5c], 0xc38b
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x10040932
cmp dword [ebp - 0x14], esi
je 0x10040958
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], eax
mov eax, ebx
cmp dword [ebp - 0x18], esi
jne 0x1004095a
mov eax, esi
cmp eax, 0xbe8f2100
mov eax, ebx
sbb ecx, ecx
inc ecx
sub ecx, dword [ebp - 0x54]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
mov ecx, dword [ebp - 0x58]
imul ecx, eax
mov eax, dword [ebp - 0x14]
imul eax, ecx
mov dword [ebp - 0x30], eax
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x1d
jne 0x10040926
mov eax, dword [ebp - 0x20]
mov dword [eax], esi
cmp dword [edi + 0x14], 0x10
jb 0x10040995
mov ecx, dword [edi]
jmp 0x10040997
mov ecx, edi
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x1c], ecx
jb 0x100409a4
mov edx, dword [edi]
jmp 0x100409a6
mov edx, edi
mov eax, dword [edi + 0x10]
add eax, edx
cmp ecx, eax
je 0x10040ba9
mov al, byte [ecx]
cmp al, 0x30
jl 0x10040a98
cmp al, 0x39
jg 0x10040a98
mov dword [ebp - 0x30], 0x2373
cmp dword [ebp - 0x30], 0x2605
jle 0x10040a61
mov edi, esi
mov dword [ebp - 0x2c], esi
mov ebx, esi
mov dword [ebp - 0x28], esi
mov ecx, ebx
mov dword [ebp - 0x18], edi
mov ebx, edi
mov eax, esi
sar ebx, cl
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x34], ebx
mov edi, esi
and ebx, eax
mov eax, ebx
lea ecx, [ebp - 0x74]
xor eax, edi
cdq
push edx
push eax
call fcn.1000db90
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x10040a14
mov eax, dword [eax]
push eax
call fcn.1004eea6
pop ecx
push esi
push 1
lea ecx, [ebp - 0x74]
call fcn.10030308
inc edi
cmp edi, 0x491c
jl 0x100409fb
mov eax, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x18]
inc eax
mov dword [ebp - 0x24], eax
cmp eax, 0x53c5
jl 0x100409f4
mov ebx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x2c]
inc ebx
mov dword [ebp - 0x28], ebx
cmp ebx, 0x1e19
jl 0x100409e3
inc edi
mov dword [ebp - 0x2c], edi
cmp edi, 0x692c
jl 0x100409de
mov edi, dword [ebp - 0x38]
lea eax, [ebp - 0x1c]
push eax
push esi
lea eax, [ebp - 0x20]
push 0x6b00
push eax
call fcn.10041b19
add esp, 0x10
cmp dword [ebp - 0x30], 0x2085
jge 0x10040a8b
push 0x1000b8a0
call fcn.1004eea6
pop ecx
or dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x1c]
inc ecx
jmp 0x10040997
xor ebx, ebx
lea ecx, [ebp - 0x4c]
inc ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x40], 0xfffffff7
mov dword [ebp - 0x38], ebx
push ebx
call fcn.1002ff7c
mov dword [ebp - 0x38], 0xfaa3
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x18], esi
jmp 0x10040ad4
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], 0xb3e90a62
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], ebx
jl 0x10040ac4
lea edx, [ebp - 0x3c]
lea ecx, [ebp - 0x40]
call fcn.100408c6
dec dword [ebp - 0x30]
lea ecx, [ebp - 0x4c]
call fcn.1002fffe
push 0x6023
push 0x41c1
push esi
lea eax, [ebp - 0x20]
push 0x127a
push eax
call fcn.1004419b
mov dword [ebp - 0x30], 0x6d2a
add esp, 0x14
cmp dword [ebp - 0x30], 0x6ee6
jle 0x10040b67
push ebx
push esi
push 0x21cd
push 0x2162
call dword [sym.imp.USER32.dll_SetScrollInfo]
mov edi, esi
mov ebx, esi
mov dword [ebp - 0x40], esi
mov ecx, esi
mov eax, ebx
sar eax, cl
mov ecx, 0x1060e278
xor eax, edi
cdq
push edx
push eax
call fcn.1002fe67
inc esi
cmp esi, 0x6bcd
jl 0x10040b34
inc ebx
push 0
pop esi
cmp ebx, 0x1d38
jl 0x10040b31
inc edi
cmp edi, 0x51c
jl 0x10040b2f
mov dword [ebp - 4], 2
cmp dword [ebp - 0x30], 0x6ae1
jge 0x100408ed
mov edx, 0x1000b900
mov ecx, 0x1060e278
call fcn.10031911
jmp 0x100408ed
mov al, 1
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret