Function at 0x101ff620
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1032827d
mov eax, dword fs:[0]
push eax
sub esp, 0x64
mov eax, dword [0x1043900c]
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 - 0x4c], ecx
cmp byte [0x104b4b70], 0
mov edi, dword [ebp + 8]
mov dword [ebp - 0x30], edi
jne 0x101ff6c4
mov byte [0x104b4b70], 1
xor edi, edi
xor edx, edx
mov eax, edi
xor eax, dword [0x104b4b80]
xor edx, dword [0x104b4b84]
xor eax, 0x1de26cd5
xor edx, 0xd28f2c5
mov dword [ebp - 0x2c], eax
mov ecx, edx
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor dword [ebp - 0x2c], eax
mov ecx, edx
mov eax, dword [ebp - 0x2c]
shrd eax, ecx, 7
xor dword [ebp - 0x2c], eax
shr ecx, 7
xor edx, ecx
mov ecx, dword [ebp - 0x2c]
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [ebp - 0x2c]
xor cl, byte [edi + 0x104b4b71]
mov byte [edi + 0x104b4b71], cl
inc edi
cmp edi, 0xe
jb 0x101ff665
mov edi, dword [ebp - 0x30]
push ecx
push 0x104b4b7e
push 0x104b4b71
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov dword [ebp - 4], 0
lea esi, [ebp - 0x28]
mov eax, dword [edi]
mov ecx, edi
cmp dword [ebp - 0x14], 0x10
cmovae esi, dword [ebp - 0x28]
mov eax, dword [eax + 4]
call eax
push esi
push eax
call dword [sym.imp.VCRUNTIME140.dll_strstr]
mov dword [ebp - 4], 0xffffffff
add esp, 8
mov ecx, dword [ebp - 0x14]
mov esi, eax
cmp ecx, 0x10
jb 0x101ff73c
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x101ff732
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x101ff732
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.102bb95a
add esp, 8
test esi, esi
je 0x101ffe2c
cmp byte [0x104b4c30], 0
mov eax, dword [0x1060b288]
mov eax, dword [eax]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x38], eax
mov eax, dword [edi]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x34], eax
jne 0x101ff97b
mov edi, dword [0x104b4c3c]
mov edx, edi
mov eax, dword [0x104b4c38]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b4c30], 1
mov dword [ebp - 0x2c], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x2c]
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b4c31], al
mov eax, dword [0x104b4c38]
xor eax, 0x1de26cd4
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x2c]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b4c32], al
mov eax, dword [0x104b4c38]
xor eax, 0x1de26cd7
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x2c]
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b4c33], al
mov eax, dword [0x104b4c38]
xor eax, 0x1de26cd6
mov dword [ebp - 0x2c], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x2c]
xor edx, ecx
shl eax, 0xd
mov ecx, edx
xor esi, eax
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b4c34], al
mov eax, dword [0x104b4c38]
xor eax, 0x1de26cd1
mov dword [ebp - 0x2c], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0x2c]
xor edx, ecx
shl eax, 0xd
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
xor edi, 0xd28f2c5
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, cl
mov ecx, edx
xor byte [0x104b4c35], al
mov eax, dword [0x104b4c38]
xor eax, 0x1de26cd0
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x2c]
shld ecx, eax, 0xd
xor edx, ecx
shl eax, 0xd
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov dword [ebp - 0x3c], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b4c38]
shl eax, 0x11
xor edx, 0x1de26cd3
xor al, cl
mov ecx, edi
xor byte [0x104b4c36], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
shr ecx, 7
xor edx, eax
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0x30]
shl eax, 0x11
xor al, byte [0x104b4c37]
xor al, dl
mov byte [0x104b4c37], al
push ecx
push 0x104b4c37
push 0x104b4c31
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov dword [ebp - 4], 1
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
mov ecx, edi
push 0
cmovae eax, dword [ebp - 0x28]
push eax
call dword [ebp - 0x34]
mov ecx, dword [0x1060b288]
push eax
call dword [ebp - 0x38]
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov esi, eax
call fcn.10019dd0
mov ecx, dword [0x1060b274]
push esi
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov esi, eax
mov dword [ebp - 0x48], esi
test esi, esi
je 0x101ffe2c
mov ecx, dword [0x1060b5e0]
push dword [ecx + 0xaa8]
mov ecx, esi
call fcn.100c6430
test al, al
jne 0x101ffa06
mov eax, dword [0x1060b5e0]
cmp esi, dword [eax + 0xaa8]
jne 0x101ffe2c
mov eax, dword [esi + 8]
lea ecx, [esi + 8]
mov dword [ebp - 0x3c], ecx
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x101ffe2c
cmp byte [0x104b4bd0], 0
mov eax, dword [edi]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x34], eax
jne 0x101ffad6
mov edi, dword [0x104b4bdc]
mov edx, edi
mov eax, dword [0x104b4bd8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b4bd0], 1
mov dword [ebp - 0x2c], eax
mov ecx, edx
mov esi, dword [ebp - 0x2c]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b4bd8]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, byte [0x104b4bd1]
xor al, cl
mov ecx, edi
mov byte [0x104b4bd1], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0x30]
shl eax, 0x11
xor al, byte [0x104b4bd2]
xor al, dl
mov byte [0x104b4bd2], al
push ecx
push 0x104b4bd2
push 0x104b4bd1
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov dword [ebp - 4], 2
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
push ecx
cmovae eax, dword [ebp - 0x28]
mov ecx, edi
mov dword [esp], 0
push eax
call dword [ebp - 0x34]
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
fstp dword [ebp - 0x38]
call fcn.10019dd0
cmp byte [0x104b4be0], 0
mov eax, dword [edi]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x34], eax
jne 0x101ffbd5
mov edi, dword [0x104b4bec]
mov edx, edi
mov eax, dword [0x104b4be8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b4be0], 1
mov dword [ebp - 0x2c], eax
mov ecx, edx
mov esi, dword [ebp - 0x2c]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b4be8]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, byte [0x104b4be1]
xor al, cl
mov ecx, edi
mov byte [0x104b4be1], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0x30]
shl eax, 0x11
xor al, byte [0x104b4be2]
xor al, dl
mov byte [0x104b4be2], al
push ecx
push 0x104b4be2
push 0x104b4be1
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov dword [ebp - 4], 3
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
push ecx
cmovae eax, dword [ebp - 0x28]
mov ecx, edi
mov dword [esp], 0
push eax
call dword [ebp - 0x34]
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
fstp dword [ebp - 0x34]
call fcn.10019dd0
cmp byte [0x104b4b40], 0
mov eax, dword [edi]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x44], eax
jne 0x101ffcd4
mov edi, dword [0x104b4b4c]
mov edx, edi
mov eax, dword [0x104b4b48]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b4b40], 1
mov dword [ebp - 0x2c], eax
mov ecx, edx
mov esi, dword [ebp - 0x2c]
xor edi, 0xd28f2c5
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, ecx
xor esi, eax
mov ecx, edx
mov eax, esi
shrd eax, ecx, 7
xor esi, eax
shr ecx, 7
xor edx, ecx
mov dword [ebp - 0x2c], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b4b48]
shl eax, 0x11
xor edx, 0x1de26cd4
xor al, byte [0x104b4b41]
xor al, cl
mov ecx, edi
mov byte [0x104b4b41], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
shrd eax, ecx, 7
xor edx, eax
shr ecx, 7
xor edi, ecx
mov eax, edx
shld edi, eax, 0x11
mov edi, dword [ebp - 0x30]
shl eax, 0x11
xor al, byte [0x104b4b42]
xor al, dl
mov byte [0x104b4b42], al
push ecx
push 0x104b4b42
push 0x104b4b41
lea ecx, [ebp - 0x28]
call fcn.1001a620
mov dword [ebp - 4], 4
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0x10
push ecx
cmovae eax, dword [ebp - 0x28]
mov ecx, edi
mov dword [esp], 0
push eax
call dword [ebp - 0x44]
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
fstp dword [ebp - 0x30]
call fcn.10019dd0
mov eax, dword [0x1060b5e0]
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [eax + 0xaa8]
jne 0x101ffddf
cmp byte [0x1060f2d9], 0
je 0x101ffddf
mov ecx, dword [0x1060b2b8]
movss xmm0, dword [0x1060f2e4]
push ecx
mov dword [esp], 0x40800000
mov eax, dword [ecx]
movss dword [ebp - 0x64], xmm0
movss dword [ebp - 0x60], xmm0
movss dword [ebp - 0x5c], xmm0
mov edx, dword [eax + 4]
movzx eax, byte [0x1060f2e2]
xorps xmm0, xmmword [0x1041f480]
push eax
movzx eax, byte [0x1060f2e1]
push eax
movzx eax, byte [0x1060f2e0]
push eax
movzx eax, byte [0x1060f2df]
push eax
lea eax, [ebp - 0x58]
movss dword [ebp - 0x70], xmm0
push eax
movss dword [ebp - 0x6c], xmm0
lea eax, [ebp - 0x64]
movss dword [ebp - 0x68], xmm0
movss xmm0, dword [ebp - 0x38]
push eax
movss dword [ebp - 0x1c], xmm0
lea eax, [ebp - 0x70]
movss xmm0, dword [ebp - 0x34]
push eax
movss dword [ebp - 0x18], xmm0
lea eax, [ebp - 0x1c]
movss xmm0, dword [ebp - 0x30]
push eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
movss dword [ebp - 0x14], xmm0
call edx
cmp byte [0x1060f2d4], 0
jne 0x101ffdf1
cmp byte [0x1060f2da], 0
je 0x101ffe2c
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
movss xmm0, dword [ebp - 0x38]
inc eax
mov ecx, dword [ebp - 0x4c]
movss dword [ebp - 0x1c], xmm0
movss xmm0, dword [ebp - 0x34]
lea eax, [eax + eax*2]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [ebp - 0x30]
lea ecx, [ecx + eax*4]
lea eax, [ebp - 0x1c]
movss dword [ebp - 0x14], xmm0
push eax
call fcn.1017cf50
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.102bb91c
mov esp, ebp
pop ebp
ret 4