Function at 0x100183bb
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x40
mov eax, dword [0x1005b040]
xor eax, esp
mov dword [esp + 0x3c], eax
movaps xmm0, xmmword [0x10057250]
lea ecx, [esp + 4]
push ebx
push esi
movups xmmword [esp + 0xc], xmm0
xor ebx, ebx
mov word [esp + 0x1c], 0x100
call fcn.1001312f
mov edx, 0x100d1b09
mov ecx, eax
call fcn.1002ce87
mov esi, dword [sym.imp.KERNEL32.dll_GetCurrentThread]
cmp byte [0x100d1b09], bl
je 0x1001845c
call fcn.1004c110
call esi
push eax
call fcn.1004c5f0
push 0x100160b7
push 0x100d1b94
call fcn.1004bb70
call fcn.1004c170
sub esp, 0xc
mov dword [esp + 0x18], 0x44447053
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], 0x616d034e
mov word [esp + 0x20], 0x100
call fcn.10002214
mov edx, 0x100d1b0c
mov ecx, eax
call fcn.10030cd3
add esp, 0xc
lea ecx, [esp + 0xc]
mov dword [esp + 0xc], 0x4d4e504c
mov dword [esp + 0x10], 0x60574145
mov dword [esp + 0x14], 0x4c4b46
mov byte [esp + 0x18], 1
call fcn.10003452
mov edx, 0x100d1ab3
mov ecx, eax
call fcn.1002ce87
cmp byte [0x100d1ab3], bl
je 0x100184e7
call fcn.1004c110
call esi
push eax
call fcn.1004c5f0
push 0x100160f9
push 0x100d1b90
call fcn.1004bb70
call fcn.1004c170
sub esp, 0xc
mov dword [esp + 0x18], 0x44437e58
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], 0x606a02
mov byte [esp + 0x20], 1
call fcn.1000214e
mov edx, 0x100d1b14
mov ecx, eax
call fcn.10030cd3
add esp, 0xc
lea ecx, [esp + 0xc]
mov dword [esp + 0xc], 0x4d4e504c
mov dword [esp + 0x10], 0x6e574145
mov dword [esp + 0x14], 0x4d4646
mov byte [esp + 0x18], 1
call fcn.10003452
mov edx, 0x100d1b0a
mov ecx, eax
call fcn.1002ce87
cmp byte [0x100d1b0a], bl
je 0x10018572
call fcn.1004c110
call esi
push eax
call fcn.1004c5f0
push 0x1001613b
push 0x100d1b64
call fcn.1004bb70
call fcn.1004c170
sub esp, 0xc
mov dword [esp + 0x18], 0x454e7e56
lea ecx, [esp + 0x18]
mov dword [esp + 0x1c], 0x606a02
mov byte [esp + 0x20], 1
call fcn.1000214e
mov edx, 0x100d1b10
mov ecx, eax
call fcn.10030cd3
add esp, 0xc
movaps xmm0, xmmword [str.ujjw]
mov ecx, ebx
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x3c], 0x11071110
movaps xmm0, xmmword [str.davp]
movups xmmword [esp + 0x1c], xmm0
mov word [esp + 0x40], 7
movaps xmm0, xmmword [0x10056b90]
movups xmmword [esp + 0x2c], xmm0
mov byte [esp + 0x42], 1
lea eax, [ecx + 0x21]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x35
jb 0x100185ac
lea eax, [esp + 0xc]
mov byte [esp + 0x42], bl
push eax
call fcn.1002a2e3
movaps xmm0, xmmword [0x10057910]
pop ecx
lea ecx, [esp + 0xc]
mov dword [esp + 0x1c], 0x7d641274
movups xmmword [esp + 0xc], xmm0
mov dword [esp + 0x20], 0x71177e61
mov dword [esp + 0x24], 0x1001b6d
call fcn.10013150
push eax
call fcn.1002a2e3
movaps xmm0, xmmword [0x10057760]
movups xmmword [esp + 0x10], xmm0
pop ecx
movaps xmm0, xmmword [0x10056df0]
mov ecx, ebx
movups xmmword [esp + 0x1c], xmm0
mov dword [esp + 0x2c], 0x30d0b15
mov word [esp + 0x30], 0x64
mov byte [esp + 0x32], 1
lea eax, [ecx + 0x21]
xor byte [esp + ecx + 0xc], al
inc ecx
cmp ecx, 0x25
jb 0x1001862a
lea eax, [esp + 0xc]
mov byte [esp + 0x32], bl
push eax
call fcn.1002a2e3
pop ecx
mov ecx, dword [esp + 0x44]
pop esi
pop ebx
xor ecx, esp
call fcn.10049956
mov esp, ebp
pop ebp
ret