Function at 0x10042470
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009b530
mov eax, dword fs:[0]
push eax
sub esp, 0x114
mov eax, dword [0x100b1010]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x100b7744]
mov eax, dword [eax]
cmp byte [eax + 0x16], 0
je 0x10042b3b
mov ecx, dword [0x100b7ed0]
lea edx, [ebp - 0x68]
push edx
lea edx, [ebp - 0x60]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x14]
call eax
mov ecx, dword [0x100b7ed0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x120]
call eax
mov ecx, eax
test ecx, ecx
jne 0x100424de
xor esi, esi
jmp 0x1004250b
mov eax, dword [ecx]
push 0
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x5c], eax
call dword [ebp - 0x5c]
fmul dword [0x100a6564]
push ecx
fstp dword [ebp - 0x5c]
fld dword [ebp - 0x5c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [ebp - 0x5c]
cvttss2si esi, dword [ebp - 0x5c]
add esp, 4
mov eax, dword [0x100b7ed8]
movss xmm0, dword [0x100a63c0]
push ecx
divss xmm0, dword [eax + 0x10]
movss dword [ebp - 0x5c], xmm0
fld dword [ebp - 0x5c]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
add esp, 4
lea eax, [ebp - 0x70]
fstp dword [ebp - 0x5c]
cvttss2si edi, dword [ebp - 0x5c]
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
add esp, 4
lea eax, [ebp - 0x70]
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__localtime64]
mov ecx, eax
mov ebx, 0x18
add esp, 4
mov eax, dword [ecx + 8]
cdq
idiv ebx
mov eax, dword [ecx + 4]
mov ecx, 0x3c
mov dword [ebp - 0x5c], edx
cdq
idiv ecx
cmp byte [0x100bd911], 0
mov dword [ebp - 0x64], edx
jne 0x1004258b
mov ecx, 0x100b9020
mov byte [0x100bd911], 1
call fcn.100801a0
lea ecx, [ebp - 0x28]
call fcn.100800f0
mov edx, dword [eax]
sub edx, dword [0x100b9020]
mov eax, dword [eax + 4]
sbb eax, dword [0x100b9024]
mov dword [ebp - 0x24], eax
js 0x100425c9
jg 0x100425b3
cmp edx, 0xee6b280
jb 0x100425c9
mov ecx, 0x100b9020
mov dword [0x100bf850], esi
mov dword [0x100be0e4], edi
call fcn.100801a0
push ecx
lea ecx, [ebp - 0x120]
call fcn.1003c390
mov dword [ebp - 4], 0
xor ecx, ecx
movaps xmm0, xmmword [0x100a6cd0]
movups xmmword [ebp - 0x3c], xmm0
mov word [ebp - 0x2c], 0x3d61
mov byte [ebp - 0x2a], 0
mov al, byte [ebp - 0x3c]
xor byte [ebp + ecx - 0x3b], al
inc ecx
cmp ecx, 0x11
jb 0x100425f3
lea edx, [ebp - 0x3b]
mov byte [ebp - 0x2a], 0
lea ecx, [ebp - 0x110]
call fcn.1003cee0
mov edx, dword [0x100be0e4]
lea ecx, [ebp - 0x58]
call fcn.1000b330
mov byte [ebp - 4], 1
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x1004262f
mov eax, dword [eax]
push ecx
mov edx, eax
lea ecx, [ebp - 0x110]
call fcn.10044f10
mov esi, eax
mov byte [ebp - 0x20], 0
mov ah, 0x30
mov byte [ebp - 0x20], 0
mov cl, 0x10
mov byte [ebp - 0x28], ah
mov dh, cl
mov dl, 0x56
mov al, dh
mov ch, 0x43
xor cl, ah
xor dl, ah
xor ch, ah
mov byte [ebp - 0x27], cl
xor dh, ah
mov byte [ebp - 0x26], dl
add esp, 4
mov byte [ebp - 0x24], ch
mov bl, 0x40
mov byte [ebp - 0x23], dh
mov bh, 0x4c
lea edx, [ebp - 0x27]
xor bl, ah
xor bh, ah
xor al, ah
mov byte [ebp - 0x25], bl
mov ecx, esi
mov byte [ebp - 0x22], bh
mov byte [ebp - 0x21], al
call fcn.1003cee0
mov edx, dword [0x100bf850]
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.1000b330
mov byte [ebp - 4], 2
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100426a9
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.10044f10
mov byte [ebp - 4], 1
add esp, 4
mov ecx, dword [ebp - 0x2c]
cmp ecx, 0x10
jb 0x100426ea
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100426e0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10042726
push ecx
push edx
call fcn.1009827d
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
cmp ecx, 0x10
jb 0x10042736
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1004272c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1004272c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009827d
add esp, 8
mov dh, 0x12
mov byte [ebp - 0x21], 0
mov al, 0x32
mov byte [ebp - 0x28], dh
mov bl, al
mov byte [ebp - 0x21], 0
mov ch, bl
mov cl, 0x7f
mov dl, 0x61
xor cl, dh
xor ch, dh
mov byte [ebp - 0x26], cl
xor dl, dh
mov byte [ebp - 0x22], ch
mov ah, 0x6e
mov byte [ebp - 0x25], dl
xor al, dh
lea ecx, [ebp - 0x110]
xor bl, dh
mov byte [ebp - 0x27], al
xor ah, dh
mov byte [ebp - 0x24], bl
lea edx, [ebp - 0x27]
mov byte [ebp - 0x23], ah
call fcn.1003cee0
mov ebx, dword [ebp - 0x5c]
mov esi, eax
mov ecx, 0x100a0848
mov byte [ebp - 0x14], 0
mov edi, 0x100a083d
mov byte [ebp - 0x14], 0
cmp ebx, 9
mov edx, 9
mov eax, edi
cmovbe eax, ecx
cmp edx, ebx
mov ch, 2
sbb dl, dl
mov byte [ebp - 0x18], ch
and dl, 0xd0
mov cl, byte [eax + 1]
add dl, 0x32
mov al, byte [eax + 2]
xor cl, ch
xor dl, ch
xor al, ch
xor cl, ch
mov byte [ebp - 0x17], dl
xor al, ch
mov byte [ebp - 0x16], cl
lea edx, [ebp - 0x17]
mov byte [ebp - 0x15], al
mov ecx, esi
call fcn.1003cee0
mov edx, ebx
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.1000b330
mov byte [ebp - 4], 3
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100427ec
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.10044f10
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x10042833
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10042829
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10042829
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009827d
add esp, 8
mov cl, 0x21
mov byte [ebp - 0x5a], 0
mov al, 0x1b
mov byte [ebp - 0x5c], cl
xor al, cl
mov byte [ebp - 0x5a], 0
lea edx, [ebp - 0x5b]
mov byte [ebp - 0x5b], al
lea ecx, [ebp - 0x110]
call fcn.1003cee0
mov ebx, dword [ebp - 0x64]
mov esi, eax
mov eax, 0x100a0848
mov byte [ebp - 0x14], 0
cmp ebx, 9
mov byte [ebp - 0x14], 0
mov ecx, 9
cmovbe edi, eax
cmp ecx, ebx
mov ah, 0x1f
sbb dl, dl
mov byte [ebp - 0x18], ah
and dl, 0xf0
mov cl, byte [edi + 1]
add dl, 0x2f
mov al, byte [edi + 2]
xor cl, ah
xor dl, ah
xor cl, ah
xor al, ah
mov byte [ebp - 0x17], dl
mov byte [ebp - 0x16], cl
lea edx, [ebp - 0x17]
xor al, ah
mov ecx, esi
mov byte [ebp - 0x15], al
call fcn.1003cee0
mov edx, ebx
lea ecx, [ebp - 0x58]
mov esi, eax
call fcn.1000b330
mov byte [ebp - 4], 4
cmp dword [eax + 0x14], 0x10
mov ecx, dword [eax + 0x10]
jb 0x100428bf
mov eax, dword [eax]
push ecx
mov edx, eax
mov ecx, esi
call fcn.10044f10
mov byte [ebp - 4], 0
add esp, 4
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x10042906
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100428fc
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100428fc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009827d
add esp, 8
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.1003c2a0
mov esi, eax
cmp dword [esi + 0x14], 0x10
jb 0x1004291f
mov esi, dword [esi]
mov edi, dword [0x100b10e0]
mov ecx, esi
cmp esi, 0xffffffff
jae 0x10042946
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x10042946
cmp dl, 0x23
jne 0x10042940
cmp byte [ecx + 1], dl
je 0x10042946
inc ecx
cmp ecx, 0xffffffff
jb 0x10042930
cmp esi, ecx
je 0x10042974
movss xmm3, dword [0x100a6574]
lea eax, [ebp - 0x28]
movss xmm2, dword [edi + 0x16e0]
push ecx
push ecx
push esi
push ecx
mov ecx, dword [edi + 0x16dc]
mov dword [esp], 0xbf800000
push eax
call fcn.1006f2d0
mov ecx, dword [ebp - 0x44]
cmp ecx, 0x10
jb 0x100429aa
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100429a0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100429a0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009827d
add esp, 8
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x120]
call fcn.1003c2a0
mov byte [ebp - 4], 5
cmp dword [eax + 0x14], 0x10
jb 0x100429c5
mov eax, dword [eax]
push eax
push dword [0x100b7f0c]
call fcn.1003ef40
mov byte [ebp - 4], 0
add esp, 8
mov ecx, dword [ebp - 0x2c]
mov edi, eax
cmp ecx, 0x10
jb 0x10042a10
mov edx, dword [ebp - 0x40]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10042a06
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10042a06
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009827d
add esp, 8
mov ecx, dword [0x100b7f00]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x30], 0
sub esi, edi
mov dword [ebp - 0x2c], 0xf
sub esi, 0x1c
mov byte [ebp - 0x40], 0
mov eax, dword [ecx]
push ecx
mov edx, dword [eax + 0x28]
mov eax, esp
mov dword [eax], 0xff0f0f0f
call edx
mov ecx, dword [0x100b7f00]
push 0x1c
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
lea eax, [esi + 0x14]
add eax, edi
push eax
push 8
push esi
call edx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
call fcn.1003c2a0
mov esi, eax
mov byte [ebp - 4], 6
cmp dword [esi + 0x14], 0x10
jb 0x10042a75
mov esi, dword [esi]
mov ecx, dword [ebp - 0x60]
mov eax, edi
cdq
sub eax, edx
sar eax, 1
push esi
sub ecx, eax
sub ecx, 0x12
push ecx
mov eax, esp
push 0x12
push ecx
push 0
push 1
push 3
push dword [0x100b7f0c]
mov dword [eax], 0xc7e3f5db
call fcn.1003eae0
mov ecx, dword [ebp - 0x44]
add esp, 0x20
cmp ecx, 0x10
jb 0x10042adb
mov edx, dword [ebp - 0x58]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10042ad1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10042ad1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1009827d
add esp, 8
mov eax, dword [ebp - 0x120]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.virtual_0], vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0x124], eax
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x108], vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
call fcn.1003ca40
lea ecx, [ebp - 0x108]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_streambuf_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0x100]
call dword [sym.imp.MSVCP140.dll_public_virtual:_void___thiscall_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void_]
lea ecx, [ebp - 0xb8]
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]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1009823a
mov esp, ebp
pop ebp
ret