Function at 0x100fa540
Capabilities:
Encode data using xor

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x10147f80
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x248
cmp byte [0x101e9c34], 0
push esi
push edi
jne 0x100fa58a
cmp dword [0x101e50e0], 0
je 0x100faf57
push 0
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
lea ecx, [ebp - 0x258]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0xc4], edx
call fcn.10002a50
lea eax, [ebp - 0xc8]
mov dword [ebp - 4], 0
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64]
mov dword [ebp - 0x20], eax
add esp, 4
mov dword [ebp - 0x1c], str._H:_M:_S
mov eax, str._H:_M:_S
nop
inc eax
cmp byte [eax], 0
jne 0x100fa5d0
lea edx, [ebp - 0x20]
mov dword [ebp - 0x18], eax
lea ecx, [ebp - 0x258]
call fcn.10036fd0
movss xmm0, dword [0x101ee0a8]
mulss xmm0, dword [0x1017f2fc]
push ecx
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm0, dword [0x1017f0d8]
xor eax, eax
fstp dword [ebp - 0x14]
cvttss2si ecx, dword [ebp - 0x14]
test ecx, ecx
cmovg eax, ecx
mov dword [ebp - 0xa0], eax
mov eax, dword [0x101e66e8]
divss xmm0, dword [eax + 0x20]
movss dword [ebp - 0x14], xmm0
fld dword [ebp - 0x14]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [ebp - 0x14]
cvttss2si eax, dword [ebp - 0x14]
mov dword [ebp - 0xac], 0
add esp, 4
mov dword [ebp - 0xa8], 0xf
xorps xmm0, xmm0
movups xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0xa4], eax
mov byte [ebp - 0xbc], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0x706c615b
lea edx, [ecx + 1]
mov dword [ebp - 0x18], 0x5d6168
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100fa690
sub ecx, edx
lea eax, [ebp - 0x1c]
push ecx
push eax
lea ecx, [ebp - 0xbc]
call fcn.100032b0
cmp byte [0x101e9c34], 0
mov ecx, dword [0x101e50e0]
mov eax, dword [0x101e50e4]
je 0x100fa6d9
add eax, 7
mov edx, 0x64
add ecx, 7
cmp eax, edx
cmovg eax, edx
mov edx, 0xff
cmp ecx, edx
cmovg ecx, edx
jmp 0x100fa6e7
xor edx, edx
add eax, 0xfffffff9
cmovs eax, edx
add ecx, 0xfffffff9
cmovs ecx, edx
mov dword [0x101e50e4], eax
lea eax, [ebp - 0xe0]
mov dword [0x101e50e0], ecx
lea ecx, [ebp - 0x254]
push eax
call fcn.10003030
mov byte [ebp - 4], 2
lea eax, [ebp - 0xe0]
cmp dword [ebp - 0xcc], 0xf
movaps xmm0, xmmword [0x101800e0]
cmova eax, dword [ebp - 0xe0]
movaps xmm1, xmmword [0x1017f9b0]
movups xmmword [ebp - 0x6c], xmm0
mov dword [ebp - 0x3c], eax
xor eax, eax
movaps xmm0, xmmword [0x101800b0]
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x4c], 0xbee1f0e5
mov dword [ebp - 0x48], 0xa4eda1a4
mov dword [ebp - 0x44], 0xf7a1a4f8
mov byte [ebp - 0x40], 0x84
nop word [eax + eax]
movups xmm0, xmmword [ebp + eax - 0x6c]
xorps xmm0, xmm1
movups xmmword [ebp + eax - 0x6c], xmm0
add eax, 0x10
cmp eax, 0x20
jb 0x100fa760
cmp eax, 0x2d
jae 0x100fa78b
nop word [eax + eax]
xor byte [ebp + eax - 0x6c], 0x84
inc eax
cmp eax, 0x2d
jb 0x100fa780
push ecx
lea ecx, [ebp - 0x1c0]
call fcn.10002a50
lea eax, [ebp - 0x11c]
mov byte [ebp - 4], 3
mov dword [ebp - 0x124], eax
mov ecx, 5
mov dword [ebp - 0x120], 5
lea eax, [ebp - 0x114]
nop dword [eax]
mov dword [eax - 8], 0
lea eax, [eax + 0xc]
mov dword [eax - 0x10], 0
mov dword [eax - 0xc], 0
sub ecx, 1
jne 0x100fa7c0
push dword [ebp - 0x120]
mov dword [ebp - 0x1c], 0x10022cc0
lea eax, [ebp - 0xbc]
push dword [ebp - 0x124]
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x6c]
movq xmm0, qword [ebp - 0x20]
lea eax, [ebp - 0xa0]
movq qword [ebp - 0x11c], xmm0
lea ecx, [ebp - 0x1c0]
mov dword [ebp - 0x20], str.dvps
mov dword [ebp - 0x1c], 0x100371d0
movq xmm0, qword [ebp - 0x20]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0xa4]
movq qword [ebp - 0x110], xmm0
mov dword [ebp - 0x1c], 0x10022b40
movq xmm0, qword [ebp - 0x20]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x3c]
movq qword [ebp - 0x104], xmm0
mov dword [ebp - 0x1c], 0x10022b40
movq xmm0, qword [ebp - 0x20]
movq qword [ebp - 0xf8], xmm0
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], 0x10037470
movq xmm0, qword [ebp - 0x20]
mov dword [ebp - 0x114], 0x10022e20
mov dword [ebp - 0x108], 0x10022e20
mov dword [ebp - 0xfc], 0x10022cb0
mov dword [ebp - 0xf0], 0x10022cb0
movq qword [ebp - 0xec], xmm0
mov dword [ebp - 0xe4], 0x10022e20
call fcn.10021fc0
add esp, 8
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0x1bc]
push eax
call fcn.10003030
mov eax, dword [ebp - 0x1c0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x1c4], eax
lea ecx, [ebp - 0x1bc]
call fcn.10002960
lea ecx, [ebp - 0x1b8]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x170]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xcc]
cmp ecx, 0xf
jbe 0x100fa954
mov edx, dword [ebp - 0xe0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fa94a
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100fa94a
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1006cb2f
add esp, 8
xorps xmm0, xmm0
mov dword [ebp - 0xd0], 0
xor eax, eax
mov dword [ebp - 0xcc], 0xf
movups xmmword [ebp - 0x84], xmm0
mov byte [ebp - 0xe0], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov word [ebp - 0x84], ax
mov byte [ebp - 4], 6
mov ecx, dword [ebp - 0x8c]
test ecx, ecx
jne 0x100fa9bc
mov esi, 7
mov dword [ebp - 0x1c], ecx
movups xmmword [ebp - 0x2c], xmm0
mov dword [ebp - 0x18], esi
mov word [ebp - 0x2c], ax
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], esi
jmp 0x100fab33
cmp dword [ebp - 0x88], 0xf
lea eax, [ebp - 0x9c]
push 0
cmova eax, dword [ebp - 0x9c]
push 0
push ecx
push eax
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov esi, eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x58], xmm0
cmp esi, 0x7ffffffe
ja 0x100faf6a
cmp esi, 7
ja 0x100faa24
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x44], 7
test esi, esi
je 0x100faa1b
xor eax, eax
lea edi, [ebp - 0x58]
mov ecx, esi
shr ecx, 1
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
xor eax, eax
mov word [ebp + esi*2 - 0x58], ax
jmp 0x100faa7e
mov eax, esi
lea edx, [ebp - 0x14]
or eax, 7
cmp eax, 0x7ffffffe
jbe 0x100faa49
mov dword [ebp - 0x14], bind
call fcn.10022a60
mov ecx, dword [ebp - 0x14]
mov edx, eax
mov dword [ebp - 0x44], ecx
jmp 0x100faa63
mov ecx, 0xa
cmp eax, ecx
cmovb eax, ecx
mov dword [ebp - 0x14], eax
call fcn.10022a60
mov edx, eax
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x48], esi
mov ecx, esi
mov dword [ebp - 0x58], edx
shr ecx, 1
mov edi, edx
rep stosd dword es:[edi], eax
adc ecx, ecx
rep stosw word es:[edi], ax
xor eax, eax
mov word [edx + esi*2], ax
mov ecx, dword [ebp - 0x70]
cmp ecx, 7
jbe 0x100faabd
mov edx, dword [ebp - 0x84]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100faab3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100faab3
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1006cb2f
add esp, 8
movups xmm1, xmmword [ebp - 0x58]
lea ecx, [ebp - 0x84]
movq xmm0, qword [ebp - 0x48]
movd eax, xmm1
movq qword [ebp - 0x74], xmm0
cmp dword [ebp - 0x70], 7
push esi
cmova ecx, eax
lea eax, [ebp - 0x9c]
cmp dword [ebp - 0x88], 0xf
push ecx
push dword [ebp - 0x8c]
cmova eax, dword [ebp - 0x9c]
push eax
push 0
push 0xfde9
movups xmmword [ebp - 0x84], xmm1
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
movups xmm0, xmmword [ebp - 0x84]
movups xmmword [ebp - 0x2c], xmm0
movq xmm0, qword [ebp - 0x74]
movq qword [ebp - 0x1c], xmm0
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 7
mov edx, dword [ebp - 0x2c]
xor eax, eax
mov word [ebp - 0x84], ax
mov byte [ebp - 4], 7
lea edi, [ebp - 0x34]
mov ecx, dword [0x101ee0c4]
cmp esi, 7
push edi
lea edi, [ebp - 0x38]
push edi
mov eax, dword [ecx]
lea esi, [ebp - 0x2c]
cmovbe edx, esi
push edx
push dword [0x101e8b24]
mov eax, dword [eax + 0x13c]
call eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x18]
cmp ecx, 7
jbe 0x100fabab
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x100faba1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100faba1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1006cb2f
add esp, 8
mov edi, dword [ebp - 0x38]
xor eax, eax
mov ecx, dword [0x101ee0c4]
push dword [0x101e50e0]
mov esi, dword [ebp - 0x34]
mov word [ebp - 0x2c], ax
mov eax, dword [0x101ee090]
sub eax, edi
mov dword [ebp - 0x1c], 0
sub eax, 0x17
mov dword [ebp - 0x18], 7
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
push 5
push 5
push 5
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x101ee0c4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [esi + 0x11]
mov esi, dword [ebp - 0x14]
push eax
lea eax, [edi + 0xf]
add eax, esi
push eax
push 5
push esi
call edx
mov eax, dword [0x101ee090]
mov edi, dword [ebp - 0x38]
sub eax, edi
mov ecx, dword [0x101ee0c4]
sub eax, 0x16
push dword [0x101e50e0]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
push 0x2d
push 0x2d
push 0x2d
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x101ee0c4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [esi + 0x10]
mov esi, dword [ebp - 0x14]
push eax
lea eax, [edi + 0xd]
add eax, esi
push eax
push 6
push esi
call edx
mov eax, dword [0x101ee090]
mov edi, dword [ebp - 0x38]
sub eax, edi
mov ecx, dword [0x101ee0c4]
sub eax, 0x15
push dword [0x101e50e0]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx]
push 0x18
push 0x18
push 0x18
mov eax, dword [eax + 0x3c]
call eax
mov ecx, dword [0x101ee0c4]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [esi + 0xf]
mov esi, dword [ebp - 0x14]
push eax
lea eax, [edi + 0xb]
add eax, esi
push eax
push 7
push esi
call edx
movss xmm1, dword [0x1017f2b8]
movss xmm0, dword [0x101e9c40]
mov ecx, dword [0x101ee090]
push dword [0x101e50e0]
mulss xmm0, xmm1
mov edi, dword [ebp - 0x34]
cvttss2si eax, xmm0
movss xmm0, dword [0x101e9c38]
mulss xmm0, xmm1
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x38]
sub ecx, eax
push dword [ebp - 0x14]
cvttss2si esi, xmm0
sub ecx, 0x14
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x18], ecx
mov ecx, dword [0x101ee0c4]
movss xmm0, dword [0x101e9c3c]
mov eax, dword [ecx]
mulss xmm0, xmm1
mov eax, dword [eax + 0x3c]
cvttss2si edx, xmm0
push edx
push esi
call eax
mov ecx, dword [0x101ee0c4]
mov esi, dword [ebp - 0x18]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi - 4]
push eax
mov eax, dword [ebp - 0x30]
add eax, 9
add eax, esi
push eax
push 8
push esi
call edx
movss xmm1, dword [0x1017f2b8]
movss xmm0, dword [0x101e9c40]
mov ecx, dword [0x101ee090]
push dword [0x101e50e4]
mulss xmm0, xmm1
mov edi, dword [ebp - 0x34]
cvttss2si eax, xmm0
movss xmm0, dword [0x101e9c38]
mulss xmm0, xmm1
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x38]
sub ecx, eax
push dword [ebp - 0x18]
cvttss2si esi, xmm0
sub ecx, 0x14
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x14], ecx
mov ecx, dword [0x101ee0c4]
movss xmm0, dword [0x101e9c3c]
mov eax, dword [ecx]
mulss xmm0, xmm1
mov eax, dword [eax + 0x3c]
cvttss2si edx, xmm0
push edx
push esi
call eax
mov ecx, dword [0x101ee0c4]
mov esi, dword [ebp - 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x40]
lea eax, [edi - 3]
push eax
mov eax, dword [ebp - 0x30]
add eax, 9
add eax, esi
push eax
push 9
push esi
call edx
mov edi, dword [0x101ee090]
add edi, 0xfffffff1
mov eax, dword [0x101e50e0]
lea edx, [ebp - 0x9c]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x30], eax
call fcn.100fdfd0
mov esi, eax
mov byte [ebp - 4], 8
mov edx, esi
cmp dword [esi + 0x14], 7
jbe 0x100faddd
mov edx, dword [esi]
mov ecx, dword [0x101ee0c4]
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [ecx]
push edx
push dword [0x101e8b24]
mov eax, dword [eax + 0x13c]
call eax
mov ecx, dword [0x101ee0c4]
push dword [0x101e8b24]
mov eax, dword [ecx]
mov eax, dword [eax + 0x5c]
call eax
mov ecx, dword [0x101ee0c4]
push dword [ebp - 0x30]
push 0xba
mov eax, dword [ecx]
push 0xba
push 0xba
mov eax, dword [eax + 0x64]
call eax
mov ecx, dword [0x101ee0c4]
sub edi, dword [ebp - 0x3c]
push 0xc
push edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
cmp dword [esi + 0x14], 7
mov edx, dword [esi + 0x10]
jbe 0x100fae4c
mov esi, dword [esi]
mov ecx, dword [0x101ee0c4]
push 0
push edx
push esi
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
call eax
lea ecx, [ebp - 0x58]
call fcn.10009870
mov ecx, dword [ebp - 0x88]
cmp ecx, 0xf
jbe 0x100fae9b
mov edx, dword [ebp - 0x9c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100fae91
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x100faee2
push ecx
push edx
call fcn.1006cb2f
add esp, 8
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0xf
mov byte [ebp - 0x9c], 0
cmp ecx, 0xf
jbe 0x100faef2
mov edx, dword [ebp - 0xbc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100faee8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100faee8
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1006cb2f
add esp, 8
mov eax, dword [ebp - 0x258]
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa8], 0xf
mov byte [ebp - 0xbc], 0
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_ostringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0x25c], eax
lea ecx, [ebp - 0x254]
call fcn.10002960
lea ecx, [ebp - 0x250]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x208]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_ios_char__struct_std::char_traits_char__::destructor_void_]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.10002380
int3