Function at 0x100484b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
mov eax, dword [0x1017de4c]
mov ecx, dword [0x100fbfac]
add eax, 4
push ebx
mov ebx, dword [0x1017de48]
push esi
push edi
mov edi, dword [0x1017de54]
add edi, eax
mov byte [esp + 0xf], 0
mov eax, dword fs:[0x2c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x1017ebf8]
cmp eax, dword [ecx + 4]
jle 0x10048551
push 0x1017ebf8
call fcn.100d136a
add esp, 4
cmp dword [0x1017ebf8], 0xffffffff
jne 0x10048551
xorps xmm0, xmm0
mov dword [0x1017ebec], 0
xor eax, eax
mov dword [0x1017ebf0], 7
movups xmmword [0x1017ebdc], xmm0
push 0x100d7390
mov word [0x1017ebdc], ax
call fcn.100d1775
add esp, 4
push 0x1017ebf8
call fcn.100d1320
add esp, 4
cmp dword [0x1017e79c], 1
jne 0x10048664
mov ecx, dword [0x1017eb98]
cmp ecx, ebx
jle 0x10048597
lea eax, [ebx + 0xb4]
cmp ecx, eax
jge 0x10048597
mov ecx, dword [0x1017eb9c]
cmp ecx, edi
jle 0x10048597
lea eax, [edi + 0x14]
cmp ecx, eax
jge 0x10048597
cmp byte [0x1017d964], 0
sete al
mov byte [0x1017d964], al
jmp 0x10048669
mov byte [0x1017d964], 0
xor eax, eax
mov dword [esp + 0x1c], 0
sar eax, 1
mov ecx, 0x1017ebdc
push eax
push 0
call fcn.1000d8b0
push dword [ebp + 8]
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 1
push 0x100dae90
push eax
push 0x100f92ec
lea eax, [edi + 0xa]
mov dword [esp + 0x28], 8
push eax
lea eax, [ebx + 0x5a]
push eax
lea eax, [esp + 0x30]
push eax
push 0x1017dbc8
call fcn.100cce90
movzx eax, byte [0x100f92ff]
add esp, 0x20
mov ecx, dword [0x100fc31c]
push eax
movzx eax, byte [0x100f92fe]
mov esi, dword [ecx]
push eax
mov eax, dword [0x100f92fc]
movzx edx, ah
movzx eax, al
push edx
push eax
mov eax, dword [esi + 0x2c]
call eax
mov ecx, dword [0x100fc31c]
lea eax, [edi + 0x14]
push eax
lea eax, [ebx + 0xb4]
push eax
mov edx, dword [ecx]
push edi
push ebx
mov edx, dword [edx + 0x38]
call edx
mov al, byte [esp + 0xf]
mov dword [0x1017de48], ebx
mov dword [0x1017de4c], edi
mov dword [0x1017de50], 0xb4
mov dword [0x1017de54], 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
mov al, byte [0x1017d964]
test al, al
je 0x1004859e
cmp dword [0x1017e828], 1
mov byte [0x1017de95], 1
jne 0x10048693
pop edi
pop esi
mov byte [0x1017d964], 0
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 8
mov edi, dword [0x1017ebec]
cmp edi, 0x15
jae 0x100487ca
cmp dword [0x1017e818], 1
jne 0x100487a2
mov ebx, dword [0x1017ebf0]
cmp edi, ebx
jae 0x100486dc
lea eax, [edi + 1]
cmp ebx, 8
mov dword [0x1017ebec], eax
mov eax, 0x1017ebdc
cmovae eax, dword [0x1017ebdc]
mov dword [eax + edi*2], 0x20
jmp 0x100487a2
mov ecx, Ordinal_2
mov eax, ecx
sub eax, edi
cmp eax, 1
jb 0x1004893a
lea esi, [edi + 1]
or esi, 7
cmp esi, ecx
jbe 0x100486fc
mov esi, ecx
jmp 0x10048714
mov eax, ebx
shr eax, 1
sub ecx, eax
cmp ebx, ecx
jbe 0x1004870d
mov esi, Ordinal_2
jmp 0x10048714
add eax, ebx
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
call fcn.1000e380
mov dword [esp + 0x10], eax
lea ecx, [edi + 1]
mov dword [0x1017ebec], ecx
lea ecx, [edi + edi]
mov dword [0x1017ebf0], esi
lea edi, [eax + ecx]
push ecx
cmp ebx, 8
jb 0x10048785
mov esi, dword [0x1017ebdc]
push esi
push eax
call sub.VCRUNTIME140.dll_memcpy
lea ebx, [ebx*2 + 2]
mov dword [edi], 0x20
add esp, 0xc
cmp ebx, 0x1000
jb 0x10048773
mov ecx, dword [esi - 4]
add ebx, 0x23
sub esi, ecx
lea eax, [esi - 4]
cmp eax, 0x1f
ja 0x1004877f
mov esi, ecx
push ebx
push esi
call fcn.100d178a
add esp, 8
jmp 0x10048799
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push 0x1017ebdc
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [edi], 0x20
mov eax, dword [esp + 0x10]
mov dword [0x1017ebdc], eax
mov esi, 0x41
mov edi, 0x1017e89c
nop dword [eax]
cmp dword [edi], 1
jne 0x100487c0
push esi
mov ecx, 0x1017ebdc
call fcn.10045360
inc esi
add edi, 4
cmp si, 0x5b
jl 0x100487b0
push 8
mov ecx, 0x1017e798
call fcn.100463d0
mov ebx, dword [0x1017ebec]
test al, al
je 0x1004884c
test ebx, ebx
je 0x1004884c
cmp dword [0x1017ebf0], 8
lea edi, [ebx - 1]
mov ecx, dword [0x1017ebdc]
mov eax, 0x1017ebdc
cmovae eax, ecx
mov edx, 1
lea edi, [eax + edi*2]
mov eax, 0x1017ebdc
cmovae eax, ecx
sub edi, eax
mov eax, ebx
sar edi, 1
sub eax, edi
cmp eax, edx
cmovb edx, eax
cmp dword [0x1017ebf0], 8
mov eax, 0x1017ebdc
cmovae eax, ecx
sub ebx, edx
lea ecx, [eax + edi*2]
mov eax, ebx
sub eax, edi
lea eax, [eax*2 + 2]
push eax
lea eax, [ecx + edx*2]
push eax
push ecx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
mov dword [0x1017ebec], ebx
cmp dword [0x1017e7cc], 1
jne 0x10048890
mov byte [0x1017d964], 0
test ebx, ebx
je 0x10048894
mov ecx, dword [ebp + 0xc]
cmp ecx, 0x1017ebdc
je 0x1004888b
cmp dword [0x1017ebf0], 8
mov eax, 0x1017ebdc
push ebx
cmovae eax, dword [0x1017ebdc]
push eax
call fcn.1000d8b0
mov ebx, dword [0x1017ebec]
mov byte [esp + 0xf], 1
test ebx, ebx
jne 0x100488ee
xor eax, eax
mov dword [esp + 0x24], 0x4a7048d
mov dword [esp + 0x28], 0x4ae04be
xor ecx, ecx
mov dword [esp + 0x2c], 0x4ed04be
mov dword [esp + 0x30], 0x4ef04af
mov dword [esp + 0x34], 0x4b0049e
mov dword [esp + 0x38], 0x4b604bf
mov word [esp + 0x3c], ax
mov byte [esp + 0x3e], 1
lea eax, [ecx + 0x4c8]
xor word [esp + ecx*2 + 0x24], ax
inc ecx
cmp ecx, 0xc
jb 0x100488d2
mov byte [esp + 0x3e], 0
lea eax, [esp + 0x24]
jmp 0x10048901
cmp dword [0x1017ebf0], 8
mov eax, 0x1017ebdc
cmovae eax, dword [0x1017ebdc]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
push eax
push 0x100dae90
lea eax, [esp + 0x18]
mov dword [esp + 0x18], 1
push eax
push 0x100f92ec
lea eax, [edi + 0xa]
mov dword [esp + 0x2c], 8
push eax
lea eax, [ebx + 0x5a]
push eax
lea eax, [esp + 0x34]
jmp 0x100485e5
call fcn.100051b0
int3