Function at 0x100a2200
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x40
mov eax, dword [0x1030cb40]
xor eax, ebp
mov dword [ebp - 4], eax
cmp byte [0x102ff860], 0
push edi
mov edi, ecx
je 0x100a283b
cmp byte [edi + 5], 0
je 0x100a2837
mov eax, dword [0x102ff864]
xorps xmm0, xmm0
dec eax
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0xf
push ebx
movups xmmword [ebp - 0x34], xmm0
mov byte [ebp - 0x34], 0
push esi
cmp eax, 6
ja case.default.0x100a2254
jmp dword [eax*4 + 0x100a284c]
lea eax, [ebp - 0x1c]
mov ecx, 0x10302500
push eax
call fcn.1004ee30
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x34]
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100a1c30
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov ecx, 0x10302518
jmp 0x100a241c
mov ecx, 0x10302530
jmp 0x100a241c
lea eax, [ebp - 0x1c]
mov ecx, 0x10302548
push eax
call fcn.1004e070
jmp 0x100a2425
mov ecx, 0x10302560
jmp 0x100a241c
lea eax, [ebp - 0x1c]
mov ecx, 0x10302578
push eax
call fcn.1004ec90
jmp 0x100a2425
lea eax, [ebp - 0x1c]
mov ecx, 0x10302590
push eax
call fcn.1004ec90
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x34]
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100a1c30
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
lea eax, [ebp - 0x1c]
mov ecx, 0x103025a8
push eax
call fcn.1004ec90
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x34]
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100a1c30
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
cmp byte [0x103025c0], 0
je 0x100a2387
cmp byte [0x103025c1], 0
jne 0x100a23d5
mov byte [0x103025c1], 1
xor esi, esi
nop dword [eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x103025dc]
xor ebx, dword [0x103025d8]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + 0x103025c2]
xor al, bl
mov byte [esi + 0x103025c2], al
inc esi
cmp esi, 0x14
jb 0x100a2340
jmp 0x100a23d5
xor esi, esi
nop dword [eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x103025dc]
xor ebx, dword [0x103025d8]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + 0x103025c2]
xor al, bl
mov byte [esi + 0x103025c2], al
inc esi
cmp esi, 0x14
jb 0x100a2390
lea eax, [ebp - 0x35]
push eax
push 0x103025d5
push 0x103025c2
lea ecx, [ebp - 0x1c]
call fcn.1004d640
jmp 0x100a2425
lea eax, [ebp - 0x1c]
mov ecx, 0x103025e0
push eax
call fcn.1004e070
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x34]
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100a1c30
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov ecx, 0x103025f8
lea eax, [ebp - 0x1c]
push eax
call fcn.1004ed60
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x34]
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100a1c30
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov eax, dword [0x102ff868]
dec eax
cmp eax, 3
ja case.default.0x100a2450
jmp dword [eax*4 + 0x100a2868]
lea eax, [ebp - 0x1c]
mov ecx, 0x10302610
push eax
call fcn.1004ed60
jmp 0x100a24ec
lea eax, [ebp - 0x1c]
mov ecx, 0x10302628
push eax
call fcn.1004ec90
jmp 0x100a24ec
lea eax, [ebp - 0x1c]
mov ecx, 0x10302640
push eax
call fcn.1004ec90
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x34]
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100a1c30
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
lea eax, [ebp - 0x1c]
mov ecx, 0x10302658
push eax
call fcn.1004ec90
jmp 0x100a24ec
lea eax, [ebp - 0x1c]
mov ecx, 0x10302670
push eax
call fcn.1004ee30
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x34]
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100a1c30
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
lea eax, [ebp - 0x1c]
mov ecx, 0x10302688
push eax
call fcn.1004efd0
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x34]
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.100a1c30
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov eax, dword [0x102ff86c]
test al, 1
je 0x100a2550
lea eax, [ebp - 0x1c]
mov ecx, 0x103026a8
push eax
call fcn.1004efd0
cmp dword [ebp - 8], 0xf
lea edx, [ebp - 0x1c]
cmova edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2530
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.10044990
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov eax, dword [0x102ff86c]
test al, 2
je 0x100a2592
lea eax, [ebp - 0x1c]
mov ecx, 0x103026c8
push eax
call fcn.1004ec90
cmp dword [ebp - 8], 0xf
lea edx, [ebp - 0x1c]
cmova edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2572
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.10044990
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov eax, dword [0x102ff86c]
test al, 4
je 0x100a26a0
cmp byte [0x103026e0], 0
je 0x100a2607
cmp byte [0x103026e1], 0
jne 0x100a2655
mov byte [0x103026e1], 1
xor esi, esi
nop dword [eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x103026fc]
xor ebx, dword [0x103026f8]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + str.IQS_aY]
xor al, bl
mov byte [esi + str.IQS_aY], al
inc esi
cmp esi, 0x10
jb 0x100a25c0
jmp 0x100a2655
xor esi, esi
nop dword [eax]
xor edx, edx
mov ebx, esi
xor edx, dword [0x103026fc]
xor ebx, dword [0x103026f8]
xor edx, 0xd28f2c5
xor ebx, 0x1de26cd5
mov ecx, edx
mov eax, ebx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor ebx, eax
mov eax, ebx
shrd eax, edx, 7
xor al, byte [esi + str.IQS_aY]
xor al, bl
mov byte [esi + str.IQS_aY], al
inc esi
cmp esi, 0x10
jb 0x100a2610
lea eax, [ebp - 0x35]
push eax
push 0x103026f1
push str.IQS_aY
lea ecx, [ebp - 0x1c]
call fcn.1004d640
cmp dword [ebp - 8], 0xf
lea edx, [ebp - 0x1c]
cmova edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2680
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.10044990
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov eax, dword [0x102ff86c]
test al, 8
je 0x100a2720
lea eax, [ebp - 0x1c]
mov ecx, 0x10302700
push eax
call fcn.1004ef00
cmp dword [ebp - 8], 0xf
lea edx, [ebp - 0x1c]
cmova edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a26c2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.10044990
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
lea eax, [ebp - 0x1c]
mov ecx, 0x10302718
push eax
call fcn.1004e540
cmp dword [ebp - 8], 0xf
lea edx, [ebp - 0x1c]
cmova edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2700
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.10044990
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov eax, dword [0x102ff86c]
test al, 0x10
je 0x100a2762
lea eax, [ebp - 0x1c]
mov ecx, 0x10302738
push eax
call fcn.1004e610
cmp dword [ebp - 8], 0xf
lea edx, [ebp - 0x1c]
cmova edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2742
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.10044990
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov eax, dword [0x102ff86c]
test al, 0x20
je 0x100a27a4
lea eax, [ebp - 0x1c]
mov ecx, 0x10302758
push eax
call fcn.1004ed60
cmp dword [ebp - 8], 0xf
lea edx, [ebp - 0x1c]
cmova edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a2784
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.10044990
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov eax, dword [0x102ff86c]
test al, 0x40
je 0x100a27e1
lea eax, [ebp - 0x1c]
mov ecx, 0x10302770
push eax
call fcn.1004ef00
cmp dword [ebp - 8], 0xf
lea edx, [ebp - 0x1c]
cmova edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100a27c6
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x34]
call fcn.10044990
lea ecx, [ebp - 0x1c]
call fcn.10042fe0
mov ecx, dword [0x1030d940]
lea edx, [ebp - 0x34]
cmp dword [ebp - 0x20], 0xf
push 0
cmova edx, dword [ebp - 0x34]
mov eax, dword [ecx]
push edx
mov eax, dword [eax + 0x1c8]
call eax
mov ecx, dword [ebp - 0x20]
pop esi
pop ebx
cmp ecx, 0xf
jbe 0x100a2837
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100a282d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100a282d
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1010f1fa
add esp, 8
mov byte [edi + 5], 0
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop edi
call fcn.1010f522
mov esp, ebp
pop ebp
ret