Function at 0x100dc620
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101930c8
mov eax, dword fs:[0]
push eax
sub esp, 0x218
mov eax, dword [0x102a67c0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x144], 0
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
cmp byte [eax + 0xa], 0
je 0x100dd245
test byte [0x10c0296c], 4
je 0x100dd245
push 0x80
lea eax, [ebp - 0x90]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
mov dword [ebp - 0x18c], eax
lea eax, [ebp - 0x18c]
push eax
mov dword [ebp - 0x188], edx
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64]
add esp, 0x14
mov esi, eax
lea eax, [ebp - 0xa8]
mov ecx, 0x1029d420
push eax
call fcn.100364f0
cmp dword [ebp - 0x94], 0xf
lea ecx, [ebp - 0xa8]
push esi
cmova ecx, dword [ebp - 0xa8]
lea eax, [ebp - 0x90]
push ecx
push 0x80
push eax
mov dword [ebp - 4], 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_strftime]
mov eax, dword [ebp - 0x94]
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
cmp eax, 0xf
jbe 0x100dc727
push eax
push dword [ebp - 0xa8]
lea eax, [ebp - 0xa8]
push eax
call fcn.100163b0
add esp, 0xc
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
movss xmm0, dword [eax + 0x30]
ucomiss xmm0, dword [0x101a1058]
lahf
test ah, 0x44
jp 0x100dc74c
xor eax, eax
jmp 0x100dc758
mulss xmm0, dword [0x101a6ab4]
cvttss2si eax, xmm0
mov dword [ebp - 0x184], eax
mov ecx, 0x1029d430
lea eax, [ebp - 0xa8]
push eax
call fcn.10029830
cmp dword [ebp - 0x94], 0xf
lea ecx, [ebp - 0x184]
lea eax, [ebp - 0xa8]
mov dword [ebp - 4], 1
cmova eax, dword [ebp - 0xa8]
push ecx
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.10028900
add esp, 0xc
mov eax, dword [ebp - 0x94]
cmp eax, 0xf
jbe 0x100dc7c2
push eax
push dword [ebp - 0xa8]
lea eax, [ebp - 0xa8]
push eax
call fcn.100163b0
add esp, 0xc
xorps xmm0, xmm0
mov dword [ebp - 0xe0], 0
movups xmmword [ebp - 0xf0], xmm0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
mov eax, dword [0x102a796c]
add eax, 0xb24e4be6
mov byte [ebp - 4], 4
xor eax, 0x90443fc4
push dword [eax + 0x58]
call fcn.10075690
mov eax, dword [0x102a7958]
lea ecx, [ebp - 0xf0]
add eax, 0xabc5fa12
add esp, 4
xor eax, 0x5b1c6e88
add eax, 0x74
cmp ecx, eax
je 0x100dc839
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x100dc82c
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0xf0]
call fcn.1002a970
lea eax, [ebp - 0xa8]
mov ecx, 0x1029d450
push eax
call fcn.1002a0c0
cmp dword [ebp - 0x94], 0xf
lea ecx, [ebp - 0x140]
push ecx
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 5
push ecx
lea ecx, [ebp - 0xf0]
lea eax, [ebp - 0xa8]
cmova eax, dword [ebp - 0xa8]
push ecx
push eax
lea eax, [ebp - 0x128]
push eax
call fcn.100d99b0
add esp, 0x14
mov dword [ebp - 0x14c], eax
lea eax, [ebp - 0xd8]
mov byte [ebp - 4], 6
push eax
mov ecx, 0x1029d440
call fcn.100364f0
cmp dword [ebp - 0xc4], 0xf
lea edi, [ebp - 0xd8]
lea ecx, [ebp - 0x1d4]
mov byte [ebp - 4], 7
cmova edi, dword [ebp - 0xd8]
mov dword [ebp - 0x224], 0x101a0fac
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 - 0x220]
mov byte [ebp - 4], 8
push eax
lea ecx, [ebp - 0x224]
mov dword [ebp - 0x144], 0x2f
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 - 0x224]
mov dword [ebp - 4], 9
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x224], 0x101a0fa8
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x228], eax
lea ecx, [ebp - 0x220]
call dword [sym.imp.MSVCP140.dll_protected:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void_]
mov dword [ebp - 0x220], 0x101a0f6c
mov dword [ebp - 0x1e8], 0
mov dword [ebp - 0x1e4], 4
lea eax, [ebp - 0x108]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x110], eax
mov ecx, 2
mov dword [ebp - 0x10c], 2
lea eax, [ebp - 0x100]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x100dc972
push dword [ebp - 0x10c]
mov esi, dword [ebp - 0x154]
push dword [ebp - 0x110]
mov eax, dword [ebp - 0x14c]
add esi, 0x15c8
mov dword [ebp - 0x178], esi
mov dword [ebp - 0x174], 0x100533a0
movq xmm0, qword [ebp - 0x178]
mov dword [ebp - 0x168], eax
lea eax, [ebp - 0x224]
movq qword [ebp - 0x108], xmm0
mov dword [ebp - 0x164], 0x100533a0
movq xmm0, qword [ebp - 0x168]
push edi
push eax
mov dword [ebp - 0x100], fcn.10025470
movq qword [ebp - 0xfc], xmm0
mov dword [ebp - 0xf4], fcn.10025470
call fcn.1002ac80
add esp, 0x10
lea eax, [ebp - 0xc0]
lea ecx, [ebp - 0x224]
push eax
call fcn.1002e440
mov eax, dword [ebp - 0x224]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0x224], 0x101a0fa8
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x228], eax
lea ecx, [ebp - 0x220]
call fcn.10029430
lea ecx, [ebp - 0x21c]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x1d4]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov eax, dword [ebp - 0xc4]
cmp eax, 0xf
jbe 0x100dca8e
push eax
push dword [ebp - 0xd8]
lea eax, [ebp - 0xd8]
push eax
call fcn.100163b0
add esp, 0xc
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc4], 0xf
mov byte [ebp - 0xd8], 0
mov eax, dword [ebp - 0x114]
cmp eax, 0xf
jbe 0x100dcaca
push eax
push dword [ebp - 0x128]
lea eax, [ebp - 0x128]
push eax
call fcn.100163b0
add esp, 0xc
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 0xf
mov byte [ebp - 0x128], 0
mov eax, dword [ebp - 0x94]
mov byte [ebp - 4], 0xe
cmp eax, 0xf
jbe 0x100dcb0a
push eax
push dword [ebp - 0xa8]
lea eax, [ebp - 0xa8]
push eax
call fcn.100163b0
add esp, 0xc
cmp dword [ebp - 0xac], 0xf
lea eax, [ebp - 0xc0]
push ecx
cmova eax, dword [ebp - 0xc0]
mov dword [esp], 0xbf800000
push 0
push 0
push eax
lea eax, [ebp - 0x164]
mov dword [ebp - 0x98], 0
push eax
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
call fcn.1006bbc0
add esp, 0x14
mov byte [ebp - 4], 4
movss xmm0, dword [eax]
mov eax, dword [ebp - 0xac]
movss dword [ebp - 0x14c], xmm0
cmp eax, 0xf
jbe 0x100dcb86
push eax
push dword [ebp - 0xc0]
lea eax, [ebp - 0xc0]
push eax
call fcn.100163b0
add esp, 0xc
call fcn.10075400
movss xmm2, dword [ebp - 0x14c]
mov eax, dword [0x102a7958]
addss xmm2, dword [0x101abf54]
add eax, 0xabc5fa12
mov dword [ebp - 0x17c], 0x42000000
xor eax, 0x5b1c6e88
movss dword [ebp - 0x180], xmm2
cmp byte [eax + 6], 0
je 0x100dcbcb
mov al, 1
mov byte [0x10c0552d], al
jmp 0x100dcbd0
mov al, byte [0x10c0552d]
movss xmm1, dword [0x10c02980]
xorps xmm3, xmm3
mov ecx, dword [0x102a796c]
movss xmm4, dword [0x101a61f0]
ucomiss xmm1, xmm3
lahf
test ah, 0x44
jp 0x100dcc34
movss xmm0, dword [0x10c02984]
ucomiss xmm0, xmm3
lahf
test ah, 0x44
jp 0x100dcc34
lea eax, [ecx - 0x4db1b41a]
xor eax, 0x90443fc4
movss xmm1, dword [eax + 0x50]
mov al, 1
subss xmm1, xmm2
mov dword [0x10c02984], 0x41200000
mov byte [0x10c0552d], al
subss xmm1, xmm4
movss dword [0x10c02980], xmm1
add ecx, 0xb24e4be6
addss xmm2, xmm1
xor ecx, 0x90443fc4
movss xmm0, dword [ecx + 0x50]
subss xmm0, xmm4
comiss xmm2, xmm0
jbe 0x100dcc6f
test al, al
jne 0x100dcc73
subss xmm1, dword [0x101a0f1c]
mov byte [0x10c0552d], 1
movss dword [0x10c02980], xmm1
jmp 0x100dcc73
test al, al
je 0x100dcca4
lea eax, [ebp - 0x150]
mov dword [ebp - 0x150], 0
push eax
push 0
push 0x10c02980
mov dword [ebp - 0x14c], 0
call fcn.10078580
add esp, 0xc
mov byte [0x10c0552d], 0
lea eax, [ebp - 0x180]
push 0
push eax
call fcn.100785d0
mov eax, dword [0x102a796c]
add eax, 0xb24e4be6
xor eax, 0x90443fc4
push dword [eax + 0x58]
call fcn.10075690
add esp, 8
mov dword [esp], 0
call fcn.10078550
lea eax, [ebp - 0x16c]
xorps xmm0, xmm0
push eax
push 5
movups xmmword [ebp - 0x16c], xmm0
call fcn.100759d0
add esp, 0xc
cmp byte [0x1029d470], 0
je 0x100dcd85
cmp byte [0x1029d471], 0
jne 0x100dcdf9
xor esi, esi
mov byte [0x1029d471], 1
mov dword [ebp - 0x144], esi
nop dword [eax]
xor esi, dword [0x1029d488]
xor edi, edi
xor edi, dword [0x1029d48c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ecx, esi
shrd ecx, edx, 7
xor ecx, esi
shr edx, 7
mov esi, dword [ebp - 0x144]
xor edx, edi
mov dword [ebp - 0x14c], ecx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [ebp - 0x14c]
xor byte [esi + 0x1029d472], cl
inc esi
mov dword [ebp - 0x144], esi
cmp esi, 0x13
jb 0x100dcd20
jmp 0x100dcdf3
xor esi, esi
mov dword [ebp - 0x144], esi
nop dword [eax]
xor esi, dword [0x1029d488]
xor edi, edi
xor edi, dword [0x1029d48c]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
xor edi, ecx
shl eax, 0xd
xor esi, eax
mov edx, edi
mov ecx, esi
shrd ecx, edx, 7
xor ecx, esi
shr edx, 7
mov esi, dword [ebp - 0x144]
xor edx, edi
mov dword [ebp - 0x14c], ecx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [ebp - 0x14c]
xor byte [esi + 0x1029d472], cl
inc esi
mov dword [ebp - 0x144], esi
cmp esi, 0x13
jb 0x100dcd90
mov esi, dword [ebp - 0x178]
lea eax, [ebp - 0x159]
push eax
push 0x1029d484
push 0x1029d472
lea ecx, [ebp - 0xc0]
call fcn.10027a10
cmp dword [ebp - 0xac], 0xf
lea eax, [ebp - 0xc0]
push 0x116b
cmova eax, dword [ebp - 0xc0]
push 0x1029d468
push eax
mov byte [ebp - 4], 0xf
call fcn.10068770
mov eax, dword [ebp - 0xac]
add esp, 0xc
mov byte [ebp - 4], 4
cmp eax, 0xf
jbe 0x100dce65
push eax
push dword [ebp - 0xc0]
lea eax, [ebp - 0xc0]
push eax
call fcn.100163b0
add esp, 0xc
call fcn.1006f420
mov edi, eax
mov eax, esi
or dword [edi + 0x24], 3
cmp dword [esi + 0x14], 0xf
jbe 0x100dce7a
mov eax, dword [esi]
push ecx
mov dword [esp], 0xbf800000
push 0
push 0
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.1006bbc0
movss xmm0, dword [eax]
lea eax, [ebp - 0x164]
push eax
movss dword [ebp - 0x14c], xmm0
call fcn.1006f440
movss xmm0, dword [eax + 4]
movss xmm1, dword [eax]
lea eax, [ebp - 0x16c]
addss xmm0, dword [0x101a0e2c]
addss xmm1, dword [0x101a0e38]
push eax
movss dword [ebp - 0x154], xmm0
movaps xmm0, xmmword [0x101a6210]
movss dword [ebp - 0x158], xmm1
movups xmmword [ebp - 0x16c], xmm0
call fcn.1006c660
movss xmm1, dword [ebp - 0x158]
add esp, 0x1c
movss xmm0, dword [ebp - 0x17c]
addss xmm1, dword [ebp - 0x180]
addss xmm0, dword [ebp - 0x154]
push 0xf
push ecx
mov dword [esp], 0x40400000
mov ecx, edi
subss xmm1, dword [0x101a61f0]
subss xmm0, dword [0x101a0e34]
push eax
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x158]
movss dword [ebp - 0x148], xmm1
push eax
movss dword [ebp - 0x144], xmm0
call fcn.1007cf30
cmp dword [esi + 0x14], 0xf
movss xmm1, dword [ebp - 0x158]
movss xmm0, dword [ebp - 0x154]
addss xmm1, dword [0x101a61f0]
addss xmm0, dword [0x101abdd4]
addss xmm1, dword [0x101a6308]
subss xmm0, dword [0x101a0e20]
movss dword [ebp - 0x148], xmm1
movss dword [ebp - 0x144], xmm0
jbe 0x100dcf99
mov esi, dword [esi]
movaps xmm0, xmmword [0x101a6330]
lea eax, [ebp - 0x16c]
push eax
movups xmmword [ebp - 0x16c], xmm0
call fcn.1006c660
add esp, 4
mov ecx, edi
push 0
push esi
push eax
lea eax, [ebp - 0x148]
push eax
call fcn.1007d3d0
movss xmm1, dword [ebp - 0x14c]
lea eax, [ebp - 0xd0]
addss xmm1, dword [0x101abf44]
movss xmm0, dword [ebp - 0x154]
movss dword [ebp - 0x14c], xmm0
addss xmm0, dword [0x101a61e8]
push eax
addss xmm1, dword [ebp - 0x158]
movss dword [ebp - 0x144], xmm0
movaps xmm0, xmmword [0x101a6330]
addss xmm1, dword [0x101abdd4]
movups xmmword [ebp - 0xd0], xmm0
movss dword [ebp - 0x148], xmm1
call fcn.1006c660
movss xmm1, dword [ebp - 0x148]
add esp, 4
movss xmm0, dword [ebp - 0x144]
addss xmm1, dword [0x101a6020]
addss xmm0, dword [0x101a6020]
push 0xf
push ecx
mov dword [esp], 0x41a00000
mov ecx, edi
push eax
lea eax, [ebp - 0x174]
movss dword [ebp - 0x174], xmm1
push eax
lea eax, [ebp - 0x148]
movss dword [ebp - 0x170], xmm0
push eax
call fcn.1007cf30
movss xmm0, dword [ebp - 0x148]
lea eax, [ebp - 0xa8]
addss xmm0, dword [0x101a6020]
movss xmm1, dword [ebp - 0x14c]
mov ecx, 0x1029d490
addss xmm1, dword [0x101abf38]
push eax
addss xmm0, dword [0x101a61e8]
movss dword [ebp - 0x160], xmm1
movss dword [ebp - 0x164], xmm0
call fcn.10029ff0
cmp dword [ebp - 0x94], 0xf
lea ecx, [ebp - 0x140]
push ecx
lea ecx, [ebp - 0x90]
mov byte [ebp - 4], 0x10
push ecx
lea ecx, [ebp - 0xf0]
lea eax, [ebp - 0xa8]
cmova eax, dword [ebp - 0xa8]
push ecx
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.100d99b0
add esp, 0x14
mov eax, dword [ebp - 0x94]
mov byte [ebp - 4], 0x12
cmp eax, 0xf
jbe 0x100dd128
push eax
push dword [ebp - 0xa8]
lea eax, [ebp - 0xa8]
push eax
call fcn.100163b0
add esp, 0xc
cmp dword [ebp - 0xac], 0xf
lea eax, [ebp - 0xd0]
movaps xmm0, xmmword [0x101a6330]
lea esi, [ebp - 0xc0]
cmova esi, dword [ebp - 0xc0]
push eax
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0xf
mov byte [ebp - 0xa8], 0
movups xmmword [ebp - 0xd0], xmm0
call fcn.1006c660
add esp, 4
mov ecx, edi
push 0
push esi
push eax
lea eax, [ebp - 0x164]
push eax
call fcn.1007d3d0
mov eax, dword [ebp - 0xac]
mov byte [ebp - 4], 4
cmp eax, 0xf
jbe 0x100dd1ab
push eax
push dword [ebp - 0xc0]
lea eax, [ebp - 0xc0]
push eax
call fcn.100163b0
add esp, 0xc
and dword [edi + 0x24], 0xfffffffc
push 0
call fcn.1006ce70
call fcn.10075400
push 1
call fcn.10075530
mov ecx, dword [ebp - 0xdc]
add esp, 8
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x100dd209
mov edx, dword [ebp - 0xf0]
inc ecx
mov eax, edx
mov byte [ebp - 4], 0x13
cmp ecx, 0x1000
jb 0x100dd1ff
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100dd1ff
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.101847fa
add esp, 8
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
cmp eax, 0xf
jbe 0x100dd245
push eax
push dword [ebp - 0x140]
lea eax, [ebp - 0x140]
push eax
call fcn.100163b0
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10184b39
mov esp, ebp
pop ebp
ret