Function at 0x10179cf0
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
push 0xffffffffffffffff
push 0x10322481
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0xc0
mov eax, dword [0x1043900c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xb8], ecx
mov edi, dword [ebx + 8]
xorps xmm0, xmm0
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xbc], 0
mov dword [ebp - 0xc0], edi
movups xmmword [edi], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
mov dword [ebp - 4], 0
cmp byte [0x104b1960], 0
mov dword [ebp - 0xbc], 1
jne 0x10179f8c
mov edi, dword [0x104b196c]
mov edx, edi
mov eax, dword [0x104b1968]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b1960], 1
mov dword [ebp - 0xa8], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xa8]
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 - 0xa8], 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 [0x104b1961], al
mov eax, dword [0x104b1968]
xor eax, 0x1de26cd4
mov dword [ebp - 0xa8], eax
mov esi, dword [ebp - 0xa8]
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 - 0xa8], 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 [0x104b1962], al
mov eax, dword [0x104b1968]
xor eax, 0x1de26cd7
mov dword [ebp - 0xa8], eax
mov esi, dword [ebp - 0xa8]
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 - 0xa8], 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 [0x104b1963], al
mov eax, dword [0x104b1968]
xor eax, 0x1de26cd6
mov dword [ebp - 0xa8], eax
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xa8]
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 - 0xa8], 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 [0x104b1964], al
mov eax, dword [0x104b1968]
xor eax, 0x1de26cd1
mov dword [ebp - 0xa8], eax
mov esi, dword [ebp - 0xa8]
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 - 0xa8], esi
mov ecx, esi
mov dword [ebp - 0xac], edx
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b1968]
shl eax, 0x11
xor edx, 0x1de26cd0
xor al, cl
mov ecx, edi
xor byte [0x104b1965], 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 - 0xc0]
shl eax, 0x11
xor al, dl
xor byte [0x104b1966], al
push ecx
push 0x104b1966
push 0x104b1961
lea ecx, [ebp - 0x74]
call fcn.1001a620
mov dword [ebp - 0xbc], 0xd
mov edx, dword [ebp - 0xb8]
lea esi, [ebp - 0x74]
mov dword [ebp - 4], 1
cmp dword [ebp - 0x60], 0x10
cmovae esi, dword [ebp - 0x74]
add edx, 4
mov ecx, esi
lea eax, [ecx + 1]
mov dword [ebp - 0xac], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10179fd0
sub ecx, dword [ebp - 0xac]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xac], eax
mov eax, 0x7fffffff
sub eax, dword [ebp - 0xac]
cmp eax, ecx
jb 0x1017a853
cmp dword [edx + 0x14], 0x10
jb 0x1017a001
mov edx, dword [edx]
push dword [ebp - 0xac]
push edx
push ecx
push esi
push ecx
push dword [ebp - 0xc4]
lea ecx, [ebp - 0x5c]
call fcn.1002cec0
mov esi, 0x1d
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 2
lea eax, [ebp - 0x5c]
cmp dword [ebp - 0x48], 0x10
mov ecx, edi
push dword [ebp - 0x4c]
cmovae eax, dword [ebp - 0x5c]
push eax
call fcn.1002bf00
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x48]
cmp ecx, 0x10
jb 0x1017a078
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1017a06e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1017a0a2
push ecx
push edx
call fcn.102bb95a
add esp, 8
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0x60]
cmp ecx, 0x10
jb 0x1017a0b2
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1017a0a8
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1017a0a8
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
cmp byte [0x1060edca], 0
je 0x1017a28f
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x2c], 0
jbe 0x1017a28f
cmp byte [0x104b19e0], 0
jne 0x1017a223
mov edi, dword [0x104b19ec]
mov edx, edi
mov eax, dword [0x104b19e8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b19e0], 1
mov dword [ebp - 0xa8], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xa8]
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 - 0xa8], 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 [0x104b19e1], al
mov eax, dword [0x104b19e8]
xor eax, 0x1de26cd4
mov dword [ebp - 0xa8], eax
mov esi, dword [ebp - 0xa8]
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 - 0xa8], 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 [0x104b19e2], al
mov eax, dword [0x104b19e8]
xor eax, 0x1de26cd7
mov dword [ebp - 0xa8], eax
mov esi, dword [ebp - 0xa8]
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 - 0xa8], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b19e8]
shl eax, 0x11
xor edx, 0x1de26cd6
xor al, cl
mov ecx, edi
xor byte [0x104b19e3], al
mov eax, edx
shld ecx, eax, 0xd
shl eax, 0xd
xor edx, eax
xor edi, ecx
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
shl eax, 0x11
xor al, dl
xor byte [0x104b19e4], al
push ecx
push 0x104b19e4
push 0x104b19e1
lea ecx, [ebp - 0x44]
call fcn.1001a620
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x44]
mov edi, dword [ebp - 0xb8]
mov esi, 0x301f
cmovae ecx, dword [ebp - 0x44]
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xbc], esi
mov esi, ecx
lea edx, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x1017a260
sub esi, edx
lea eax, [edi + 0x1c]
cmp dword [edi + 0x30], 0x10
jb 0x1017a275
mov eax, dword [edi + 0x1c]
mov edx, dword [edi + 0x2c]
push esi
push ecx
mov ecx, eax
call fcn.10071120
add esp, 8
mov byte [ebp - 0xb1], 1
test al, al
je 0x1017a296
mov byte [ebp - 0xb1], 0
mov eax, dword [ebp - 0xa8]
test al, 2
je 0x1017a2b7
and eax, 0xfffffffd
lea ecx, [ebp - 0x44]
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xbc], eax
call fcn.10019dd0
cmp byte [ebp - 0xb1], 0
je 0x1017a5b5
cmp byte [0x104b19b0], 0
jne 0x1017a4d7
mov edi, dword [0x104b19bc]
mov edx, edi
mov eax, dword [0x104b19b8]
xor edx, 0xd28f2c5
xor eax, 0x1de26cd5
mov byte [0x104b19b0], 1
mov dword [ebp - 0xac], eax
mov ecx, edx
shld ecx, eax, 0xd
mov esi, dword [ebp - 0xac]
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 - 0xac], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b19b1]
xor al, cl
mov ecx, edx
mov byte [0x104b19b1], al
mov eax, dword [0x104b19b8]
xor eax, 0x1de26cd4
mov dword [ebp - 0xac], eax
mov esi, dword [ebp - 0xac]
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 - 0xac], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor edx, 0xd28f2c5
xor al, byte [0x104b19b2]
xor al, cl
mov ecx, edx
mov byte [0x104b19b2], al
mov eax, dword [0x104b19b8]
xor eax, 0x1de26cd7
mov dword [ebp - 0xac], eax
mov esi, dword [ebp - 0xac]
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 - 0xac], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, edi
shl eax, 0x11
xor al, byte [0x104b19b3]
xor al, cl
mov byte [0x104b19b3], al
mov eax, dword [0x104b19b8]
xor eax, 0x1de26cd6
mov dword [ebp - 0xac], eax
mov esi, dword [ebp - 0xac]
xor edx, 0xd28f2c5
mov ecx, edx
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 - 0xac], 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, byte [0x104b19b4]
xor al, cl
mov ecx, edx
mov byte [0x104b19b4], al
mov eax, dword [0x104b19b8]
xor eax, 0x1de26cd1
mov dword [ebp - 0xac], eax
mov esi, dword [ebp - 0xac]
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 - 0xac], esi
mov ecx, esi
mov eax, ecx
shld edx, eax, 0x11
mov edx, dword [0x104b19b8]
shl eax, 0x11
xor edx, 0x1de26cd0
xor al, byte [0x104b19b5]
xor al, cl
mov ecx, edi
mov byte [0x104b19b5], 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
shl eax, 0x11
xor al, dl
xor byte [0x104b19b6], al
push ecx
push 0x104b19b6
push 0x104b19b1
lea ecx, [ebp - 0x8c]
call fcn.1001a620
mov esi, dword [ebp - 0xa8]
or esi, 0x600
mov dword [ebp - 0xbc], esi
mov dword [ebp - 4], 3
lea edi, [ebp - 0x8c]
cmp dword [ebp - 0x78], 0x10
cmovae edi, dword [ebp - 0x8c]
mov ecx, edi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1017a520
mov eax, dword [ebp - 0xb8]
sub ecx, edx
add eax, 0x1c
mov edx, dword [eax + 0x10]
mov dword [ebp - 0xac], edx
mov edx, 0x7fffffff
sub edx, dword [ebp - 0xac]
cmp edx, ecx
jb 0x1017a858
cmp dword [eax + 0x14], 0x10
jb 0x1017a556
mov eax, dword [eax]
push dword [ebp - 0xac]
push eax
push ecx
push edi
push ecx
push dword [ebp - 0xc4]
lea ecx, [ebp - 0x44]
call fcn.1002cec0
or esi, 0x800
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 4
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
push dword [ebp - 0x34]
cmovae eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0xc0]
push eax
call fcn.1002bf00
lea ecx, [ebp - 0x44]
call fcn.10019dd0
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0
call fcn.10019dd0
mov eax, dword [ebp - 0xb8]
lea ecx, [ebp - 0x47]
mov edx, dword [eax + 0x5174]
test edx, edx
jns 0x1017a5d5
neg edx
call fcn.10032710
dec eax
mov byte [eax], 0x2d
jmp 0x1017a5da
call fcn.10032710
push ecx
lea ecx, [ebp - 0x47]
push ecx
push eax
lea ecx, [ebp - 0xa4]
call fcn.1001a620
mov eax, dword [ebp - 0xa8]
or eax, 0x60
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x2c]
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
or eax, 0x80
mov dword [ebp - 0x18], 0xf
movups xmmword [ebp - 0x2c], xmm0
push 7
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xbc], eax
call fcn.1001a120
mov esi, 0x1040c108
mov al, byte [esi]
lea ecx, [ebp - 0x2c]
xor al, 0xa5
mov byte [ebp - 0xac], al
push dword [ebp - 0xac]
call fcn.1001a280
add esi, 2
cmp esi, 0x1040c112
jne 0x1017a634
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x1c]
cmovae eax, edi
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xb8], eax
test esi, esi
je 0x1017a738
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memchr
mov edx, eax
add esp, 0xc
test edx, edx
je 0x1017a738
sub edx, dword [ebp - 0xb8]
cmp edx, 0xffffffff
je 0x1017a738
cmp dword [ebp - 0x18], 0x10
lea eax, [ebp - 0x2c]
setae cl
cmovae eax, edi
add eax, edx
test cl, cl
lea edx, [ebp - 0x2c]
mov ecx, esi
je 0x1017a6ce
sub eax, edi
mov edi, 1
sub ecx, eax
cmp ecx, edi
cmovb edi, ecx
mov ecx, dword [ebp - 0xac]
jmp 0x1017a6df
sub eax, edx
mov edi, 1
sub ecx, eax
cmp ecx, edi
cmovb edi, ecx
lea ecx, [ebp - 0x2c]
lea edx, [ecx + eax]
sub esi, edi
mov ecx, esi
sub ecx, eax
lea eax, [edx + edi]
inc ecx
push ecx
push eax
push edx
call sub.VCRUNTIME140.dll_memmove
mov edi, dword [ebp - 0x2c]
lea eax, [ebp - 0x2c]
add esp, 0xc
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0xac], edi
cmovae eax, edi
mov dword [ebp - 0xb8], eax
test esi, esi
je 0x1017a738
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memchr
mov edx, eax
add esp, 0xc
test edx, edx
je 0x1017a738
sub edx, dword [ebp - 0xb8]
cmp edx, 0xffffffff
jne 0x1017a6a0
lea eax, [ebp - 0xa4]
push eax
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0xc4]
lea ecx, [ebp - 0x44]
call fcn.10030580
mov esi, dword [ebp - 0xa8]
or esi, 0x100
mov dword [ebp - 0xbc], esi
mov byte [ebp - 4], 7
lea eax, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
push dword [ebp - 0x34]
cmovae eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0xc0]
mov ecx, esi
push eax
call fcn.1002bf00
mov ecx, dword [ebp - 0x30]
cmp ecx, 0x10
jb 0x1017a7b3
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1017a7a9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1017a821
push ecx
push edx
call fcn.102bb95a
add esp, 8
mov ecx, dword [ebp - 0x18]
cmp ecx, 0x10
jb 0x1017a7e3
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1017a7d9
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1017a821
push ecx
push edx
call fcn.102bb95a
add esp, 8
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0xf
mov byte [ebp - 0x2c], 0
cmp ecx, 0x10
jb 0x1017a831
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1017a827
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1017a827
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
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.102bb91c
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
call fcn.10014bf0
call fcn.10014bf0
int3