Function at 0x100c8a50
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x260
mov eax, dword [0x1025ab04]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x238], eax
mov eax, dword [ebp + 0xc]
push esi
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x258], 0
mov eax, dword [0x102669f8]
push edi
mov edi, ecx
test al, 1
jne 0x100c8ab0
or eax, 1
mov ecx, 0x10256160
push 0x102669e0
mov dword [0x102669f8], eax
call fcn.100816a0
push 0x10165e60
call fcn.1010450d
add esp, 4
mov eax, dword [0x10266a14]
test al, 1
jne 0x100c8bd4
or eax, 1
cmp byte [0x10256170], 0
mov dword [0x10266a14], eax
je 0x100c8b3e
cmp byte [0x10256171], 0
jne 0x100c8b98
mov byte [0x10256171], 1
xor esi, esi
xor edx, edx
mov eax, esi
xor eax, dword [0x102561a0]
xor edx, dword [0x102561a4]
xor eax, 0x1de26cd5
mov dword [ebp - 0x234], eax
xor edx, 0xd28f2c5
mov ecx, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
mov eax, ecx
mov dword [ebp - 0x258], edx
shrd eax, edx, 7
xor al, byte [esi + 0x10256172]
xor al, cl
mov byte [esi + 0x10256172], al
inc esi
cmp esi, 0x27
jb 0x100c8ae4
jmp 0x100c8b98
xor esi, esi
xor edx, edx
mov eax, esi
xor eax, dword [0x102561a0]
xor edx, dword [0x102561a4]
xor eax, 0x1de26cd5
mov dword [ebp - 0x234], eax
xor edx, 0xd28f2c5
mov ecx, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor dword [ebp - 0x234], eax
mov ecx, dword [ebp - 0x234]
mov eax, ecx
mov dword [ebp - 0x258], edx
shrd eax, edx, 7
xor al, byte [esi + 0x10256172]
xor al, cl
mov byte [esi + 0x10256172], al
inc esi
cmp esi, 0x27
jb 0x100c8b40
push 0x26
push 0x10256172
mov ecx, 0x102669fc
mov dword [0x102669fc], 0
mov dword [0x10266a0c], 0
mov dword [0x10266a10], 0xf
call fcn.10045f20
push 0x10165e00
call fcn.1010450d
add esp, 4
lea esi, [edi + 8]
mov edi, dword [esi + 4]
cmp edi, dword [esi + 8]
je 0x100c8c04
push 0xe96c
push 0
push edi
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, edi
call fcn.100c8220
mov edi, dword [esi + 4]
lea eax, [edi + 0xe96c]
mov dword [esi + 4], eax
jmp 0x100c8c0e
push edi
mov ecx, esi
call fcn.100c7df0
mov edi, eax
push dword [0x10192020]
call fcn.10063ba0
mov ecx, dword [ebp - 0x23c]
fstp dword [edi + 0x14]
mov dword [edi + 0x18], 0
mov word [edi], 0
mov dword [edi + 8], 0xffffffff
mov eax, dword [ecx + 0x10]
mov dword [edi + 4], eax
movq xmm0, qword [0x101920fc]
movq qword [edi + 0x24], xmm0
mov eax, dword [0x10192104]
mov dword [edi + 0x2c], eax
mov dword [edi + 0xc], 0xffffffff
mov eax, dword [ecx + 0x24]
mov dword [edi + 0x1c], eax
mov eax, dword [ecx + 8]
mov dword [edi + 0x10], eax
lea eax, [edi + 0x48]
push 0xe8b8
push dword [ecx + 0x2c]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov ecx, dword [ebp - 0x238]
add esp, 0x10
add ecx, 8
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul esi, eax, 0x6c
lea ecx, [edi + 0xe908]
mov dword [edi + 0x20], eax
add esi, 0x1025bc98
mov al, byte [esi]
mov byte [edi + 0xe900], al
mov eax, dword [esi + 4]
mov dword [edi + 0xe904], eax
lea eax, [esi + 8]
cmp ecx, eax
je 0x100c8cc3
cmp dword [eax + 0x14], 0x10
mov edx, dword [eax + 0x10]
jb 0x100c8cbc
mov eax, dword [eax]
push edx
push eax
call fcn.10045f20
movups xmm0, xmmword [esi + 0x20]
movups xmmword [edi + 0xe920], xmm0
movups xmm0, xmmword [esi + 0x30]
movups xmmword [edi + 0xe930], xmm0
movups xmm0, xmmword [esi + 0x40]
movups xmmword [edi + 0xe940], xmm0
movups xmm0, xmmword [esi + 0x50]
movups xmmword [edi + 0xe950], xmm0
movq xmm0, qword [esi + 0x60]
movq qword [edi + 0xe960], xmm0
mov eax, dword [esi + 0x68]
mov esi, dword [ebp - 0x23c]
mov dword [edi + 0xe968], eax
movq xmm0, qword [esi + 0x30]
movq qword [edi + 0x3c], xmm0
mov eax, dword [esi + 0x38]
mov dword [edi + 0x44], eax
test byte [0x1024e8a4], 4
je 0x100c93fe
push 0x90
lea eax, [ebp - 0x218]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x80
xorps xmm0, xmm0
mov dword [ebp - 0x188], 0
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x164], 0
push 0
push eax
movups xmmword [ebp - 0x184], xmm0
mov dword [ebp - 0x160], 0
movups xmmword [ebp - 0x174], xmm0
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [ebp - 0x238]
add esp, 0x18
add ecx, 8
mov word [ebp - 0xdc], 0
xorps xmm0, xmm0
mov byte [ebp - 0xc8], 0
movups xmmword [ebp - 0xd8], xmm0
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov ecx, dword [0x1025ba70]
lea esi, [ebp - 0x218]
push esi
push eax
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
mov esi, dword [ebp - 0x23c]
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x1c], 0
lea edx, [ecx + 1]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c8de3
sub ecx, edx
lea eax, [ebp - 0x208]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.10045f20
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x4c]
call fcn.100437a0
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x100c8e3e
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8e34
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8e34
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.101041fa
add esp, 8
mov ecx, dword [ebp - 0x3c]
cmp ecx, 0x14
jbe 0x100c8edf
cmp dword [ebp - 0x38], 0x10
lea esi, [ecx - 0x14]
lea edx, [ebp - 0x4c]
cmovae edx, dword [ebp - 0x4c]
sub ecx, esi
add edx, 0x14
mov dword [ebp - 0x3c], ecx
add ecx, 0xffffffed
push ecx
lea eax, [edx + esi]
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
lea eax, [ebp - 0x1c]
mov ecx, 0x10253228
push eax
call fcn.1006cdc0
cmp dword [ebp - 8], 0x10
lea edx, [ebp - 0x1c]
cmovae edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100c8e90
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x4c]
call fcn.100456f0
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x100c8ed9
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c8ecf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c8ecf
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.101041fa
add esp, 8
mov esi, dword [ebp - 0x23c]
mov eax, dword [0x1025de64]
test al, 1
jne 0x100c8efe
mov ecx, dword [0x1025ddd4]
or eax, 1
mov dword [0x1025de64], eax
mov dword [0x1025de60], ecx
jmp 0x100c8f04
mov ecx, dword [0x1025de60]
mov eax, dword [esi + 0x2c]
push ecx
movss xmm0, dword [eax + 0x28]
mov eax, dword [ebp - 0x238]
subss xmm0, dword [eax + ecx]
andps xmm0, xmmword [0x101687a0]
movss dword [esp], xmm0
call fcn.10063bc0
add esp, 4
mov dword [ebp - 0x258], eax
cmp byte [edi + 0xe900], 0
je 0x100c9056
mov ecx, dword [0x102669f0]
add edi, 0xe908
mov eax, 0x7fffffff
mov dword [ebp - 0x234], ecx
sub eax, ecx
mov edx, dword [edi + 0x10]
mov dword [ebp - 0x254], edx
cmp eax, edx
jb 0x100c9410
cmp dword [0x102669f4], 0x10
mov eax, 0x102669e0
cmovae eax, dword [0x102669e0]
cmp dword [edi + 0x14], 0x10
mov dword [ebp - 0x250], eax
jb 0x100c8f8a
mov edi, dword [edi]
add ecx, edx
mov dword [ebp - 0x34], 0
mov esi, 0xf
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
lea eax, [ebp - 0x34]
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 0x238], eax
cmp ecx, esi
jbe 0x100c8ff2
mov esi, ecx
or esi, 0xf
cmp esi, 0x7fffffff
jbe 0x100c8fcd
mov esi, 0x7fffffff
jmp 0x100c8fd7
mov eax, 0x16
cmp esi, eax
cmovb esi, eax
lea eax, [esi + 1]
push eax
lea ecx, [ebp - 0x34]
call fcn.100454d0
mov ecx, dword [ebp - 0x24c]
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x34], eax
push dword [ebp - 0x234]
mov dword [ebp - 0x24], ecx
push dword [ebp - 0x250]
mov dword [ebp - 0x20], esi
push eax
call sub.VCRUNTIME140.dll_memcpy
push dword [ebp - 0x254]
mov eax, dword [ebp - 0x234]
mov esi, dword [ebp - 0x238]
add eax, esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x24c]
add esp, 0x18
mov dword [ebp - 0x238], 0x11
mov edi, 0x11
mov dword [ebp - 0x234], 0
mov byte [esi + eax], 0
lea eax, [ebp - 0x34]
mov esi, dword [ebp - 0x23c]
jmp 0x100c9087
mov dword [ebp - 0x1c], 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 8], 0xf
mov edi, 0x10
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x238], 0x12
mov dword [ebp - 0x234], 2
movss xmm0, dword [esi + 0x24]
mulss xmm0, dword [0x101686dc]
mov dword [ebp - 0x24c], eax
push dword [esi + 8]
cvttss2si eax, xmm0
mov dword [ebp - 0x260], eax
lea eax, [ebp - 0x230]
push eax
call fcn.100d72d0
add esp, 8
mov dword [ebp - 0x254], eax
cmp dword [0x10266a10], 0x10
lea ecx, [ebp - 0x108]
mov eax, 0x102669fc
mov dword [ebp - 0x158], 0x1016d060
cmovae eax, dword [0x102669fc]
mov dword [ebp - 0x250], eax
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::constructor_void_]
push 0
push 0
lea eax, [ebp - 0x154]
push eax
lea ecx, [ebp - 0x158]
call dword [sym.imp.MSVCP140.dll_public:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char_____bool_]
mov eax, dword [ebp - 0x158]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x158], 0x1016d05c
mov eax, dword [ebp - 0x158]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x15c], eax
lea ecx, [ebp - 0x154]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x154], 0x1016cd40
mov dword [ebp - 0xa8], eax
mov ecx, 7
mov dword [ebp - 0x11c], 0
lea eax, [ebp - 0x98]
mov dword [ebp - 0x118], 4
mov dword [ebp - 0xa4], 7
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x100c9174
push dword [ebp - 0xa4]
mov dword [ebp - 0x244], 0x10073710
lea eax, [ebp - 0x4c]
push dword [ebp - 0xa8]
mov dword [ebp - 0x248], eax
movq xmm0, qword [ebp - 0x248]
mov eax, dword [ebp - 0x254]
push dword [ebp - 0x250]
mov dword [ebp - 0x248], eax
lea eax, [ebp - 0x260]
movq qword [ebp - 0xa0], xmm0
mov dword [ebp - 0x244], 0x10073710
movq xmm0, qword [ebp - 0x248]
mov dword [ebp - 0x248], eax
lea eax, [esi + 0xc]
movq qword [ebp - 0x94], xmm0
mov dword [ebp - 0x244], 0x100ab4a0
movq xmm0, qword [ebp - 0x248]
mov dword [ebp - 0x248], eax
lea eax, [ebp - 0x258]
movq qword [ebp - 0x88], xmm0
mov dword [ebp - 0x244], 0x100ab4a0
movq xmm0, qword [ebp - 0x248]
mov dword [ebp - 0x248], eax
lea eax, [esi + 0x10]
movq qword [ebp - 0x7c], xmm0
mov dword [ebp - 0x244], 0x100ab4a0
movq xmm0, qword [ebp - 0x248]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x24c]
movq qword [ebp - 0x70], xmm0
mov dword [ebp - 0x244], 0x100ab4a0
movq xmm0, qword [ebp - 0x248]
mov dword [ebp - 0x248], eax
lea eax, [ebp - 0x158]
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x244], 0x10073710
movq xmm0, qword [ebp - 0x248]
push eax
mov dword [ebp - 0x98], fcn.10073aa0
mov dword [ebp - 0x8c], fcn.10073aa0
mov dword [ebp - 0x80], 0x10073a90
mov dword [ebp - 0x74], 0x10073a90
mov dword [ebp - 0x68], 0x10073a90
mov dword [ebp - 0x5c], 0x10073a90
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x50], fcn.10073aa0
call fcn.10077dc0
add esp, 0x10
lea eax, [ebp - 0xc0]
lea ecx, [ebp - 0x158]
push eax
call fcn.1004c790
mov eax, dword [ebp - 0x158]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x158], 0x1016d05c
mov eax, dword [ebp - 0x158]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x15c], eax
lea ecx, [ebp - 0x154]
call fcn.10043d00
lea ecx, [ebp - 0x150]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x108]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x230]
call fcn.10043cb0
cmp dword [ebp - 0x234], 0
je 0x100c9396
mov edx, dword [ebp - 8]
mov dword [ebp - 0x238], edi
cmp edx, 0x10
jb 0x100c9384
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c937a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100c93c5
push edx
push ecx
call fcn.101041fa
add esp, 8
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
test byte [ebp - 0x238], 1
je 0x100c93d5
mov edx, dword [ebp - 0x20]
cmp edx, 0x10
jb 0x100c93d5
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100c93cb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100c93cb
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.101041fa
add esp, 8
mov ecx, dword [0x102618bc]
lea eax, [ebp - 0xc0]
push 1
push 0xffffffffffffffff
push eax
call fcn.100f4da0
lea ecx, [ebp - 0xc0]
call fcn.10043cb0
lea ecx, [ebp - 0x4c]
call fcn.10043cb0
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.10104522
mov esp, ebp
pop ebp
ret 8
call fcn.100453f0
int3