Function at 0x10053a00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1018aee9
mov eax, dword fs:[0]
push eax
sub esp, 0x254
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 - 0x260], ecx
mov esi, dword [ebp + 8]
mov ecx, esi
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x244], esi
mov eax, dword [esi]
mov eax, dword [eax + 4]
call eax
test byte [0x10c024f8], 0x10
mov edi, eax
mov dword [ebp - 0x248], edi
je 0x100545a1
mov ecx, dword [esi]
lea eax, [ebp - 0x28]
push eax
mov esi, dword [ecx + 0x18]
mov ecx, 0x10293500
call fcn.10029a70
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x28]
mov ecx, dword [ebp - 0x244]
cmova eax, dword [ebp - 0x28]
push 0
push eax
mov dword [ebp - 4], 0
call esi
mov ecx, dword [ebp - 0x14]
mov esi, eax
mov dword [ebp - 0x23c], esi
mov dword [ebp - 4], 0xffffffff
cmp ecx, 0xf
jbe 0x10053abb
push ecx
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
test esi, esi
je 0x100545a1
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
mov dword [ebp - 0x244], 9
xor eax, 0x5b1c6e88
mov esi, dword [eax + 0xc8]
lea eax, [ebp - 0x244]
push eax
lea eax, [ebp - 0x250]
push esi
push eax
call fcn.100ee230
add esp, 0xc
mov ecx, esi
mov eax, dword [eax]
push dword [ebp - 0x23c]
call eax
mov ecx, dword [0x102a7958]
add ecx, 0xabc5fa12
xor ecx, 0x5b1c6e88
push eax
mov ecx, dword [ecx + 0xcc]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov dword [ebp - 0x244], eax
test eax, eax
je 0x100545a1
lea eax, [ebp - 0x90]
mov ecx, 0x10293518
push eax
call fcn.1002f670
cmp dword [ebp - 0x7c], 0xf
lea eax, [ebp - 0x90]
mov esi, 3
mov ecx, edi
cmova eax, dword [ebp - 0x90]
mov dword [ebp - 0x24c], esi
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x10053b8a
test dl, dl
je 0x10053b7e
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x10053b8a
add ecx, 2
add eax, 2
test dl, dl
jne 0x10053b62
mov dword [ebp - 0x23c], 0
jmp 0x10053b95
sbb eax, eax
or eax, 1
mov dword [ebp - 0x23c], eax
mov eax, dword [ebp - 0x7c]
cmp eax, 0xf
jbe 0x10053bb3
push eax
push dword [ebp - 0x90]
lea eax, [ebp - 0x90]
push eax
call fcn.100163b0
add esp, 0xc
cmp dword [ebp - 0x23c], 0
jne 0x10054050
xorps xmm0, xmm0
mov dword [ebp - 0x240], 0xffffffff
movups xmmword [ebp - 0x40], xmm0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
push 0x158
lea eax, [ebp - 0x238]
mov dword [ebp - 4], 2
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x102a7958]
add esp, 0xc
mov ecx, dword [ebp - 0x244]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
add ecx, 8
mov edi, dword [eax + 0xc8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov esi, eax
mov dword [ebp - 0x23c], 8
lea eax, [ebp - 0x23c]
push eax
lea eax, [ebp - 0x258]
push edi
push eax
call fcn.100ee230
add esp, 0xc
lea ecx, [ebp - 0x238]
mov eax, dword [eax]
push ecx
push esi
mov ecx, edi
call eax
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10053c74
sub ecx, edx
lea eax, [ebp - 0x228]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.10011990
lea eax, [ebp - 0x28]
mov dword [ebp - 4], 4
push eax
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x24c], 0x83
call fcn.10029010
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0x24c], 0x103
cmp ecx, 0xf
jbe 0x10053cf1
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
mov dword [ebp - 4], 5
cmp ecx, 0x1000
jb 0x10053ce7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10053ce7
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
cmp byte [0x10293530], 0
mov dword [ebp - 4], 2
je 0x10053d86
cmp byte [0x10293531], 0
jne 0x10053df3
xor esi, esi
mov byte [0x10293531], 1
mov dword [ebp - 0x23c], esi
xor esi, dword [0x10293550]
xor edi, edi
xor edi, dword [0x10293554]
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 - 0x23c]
xor edx, edi
mov dword [ebp - 0x250], ecx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [ebp - 0x250]
xor byte [esi + 0x10293532], cl
inc esi
mov dword [ebp - 0x23c], esi
cmp esi, 0x17
jb 0x10053d21
jmp 0x10053df3
xor esi, esi
mov dword [ebp - 0x23c], esi
nop
xor esi, dword [0x10293550]
xor edi, edi
xor edi, dword [0x10293554]
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 - 0x23c]
xor edx, edi
mov dword [ebp - 0x250], ecx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [ebp - 0x250]
xor byte [esi + 0x10293532], cl
inc esi
mov dword [ebp - 0x23c], esi
cmp esi, 0x17
jb 0x10053d90
lea eax, [ebp - 0x251]
push eax
push 0x10293548
push 0x10293532
lea ecx, [ebp - 0x78]
call fcn.10027a10
mov dword [ebp - 0x24c], 0x11b
cmp dword [ebp - 0x64], 0xf
lea ecx, [ebp - 0x58]
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 6
cmova eax, dword [ebp - 0x78]
push ecx
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.10053170
add esp, 0xc
mov dword [ebp - 0x258], eax
movss xmm1, dword [0x101a1054]
movss xmm0, dword [0x10c0299c]
mulss xmm0, xmm1
mov byte [ebp - 4], 7
cvttss2si eax, xmm0
movss xmm0, dword [0x10c02998]
mulss xmm0, xmm1
mov dword [ebp - 0x250], eax
cvttss2si edx, xmm0
movss xmm0, dword [0x10c02994]
mulss xmm0, xmm1
mov byte [ebp - 0x23a], dl
cvttss2si ecx, xmm0
movss xmm0, dword [0x10c02990]
mulss xmm0, xmm1
mov byte [ebp - 0x23b], cl
mov ecx, 0x10293488
cvttss2si eax, xmm0
mov byte [ebp - 0x23c], al
mov eax, dword [ebp - 0x250]
mov byte [ebp - 0x239], al
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x23c], eax
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov edi, dword [eax + 0xec]
lea eax, [ebp - 0x28]
push eax
call fcn.10029c40
mov dword [ebp - 0x24c], 0x13b
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x250]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x250], 0x19
lea esi, [ebp - 0x28]
mov byte [ebp - 4], 8
cmova esi, dword [ebp - 0x28]
mov dword [eax], edi
lea eax, [ebp - 0x25c]
push eax
call fcn.100ee230
push esi
lea ecx, [ebp - 0x23c]
push ecx
mov eax, dword [eax]
push edi
call eax
mov eax, dword [ebp - 0x14]
add esp, 0x18
mov byte [ebp - 4], 7
cmp eax, 0xf
jbe 0x10053f45
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
mov eax, dword [0x102a7958]
mov edi, dword [ebp - 0x258]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov esi, edi
cmp dword [edi + 0x14], 0xf
mov ecx, dword [eax + 0xec]
mov dword [ebp - 0x250], ecx
jbe 0x10053f70
mov esi, dword [edi]
lea eax, [ebp - 0x258]
mov dword [ebp - 0x258], 0x19
push eax
push ecx
mov eax, esp
mov dword [eax], ecx
lea eax, [ebp - 0x25c]
push eax
call fcn.100ee230
push esi
push str._s__n
lea ecx, [ebp - 0x240]
mov eax, dword [eax]
push ecx
push dword [ebp - 0x250]
call eax
mov esi, dword [ebp - 0x260]
add esp, 0x1c
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
push edi
lea ecx, [ebp - 0xa8]
movd xmm0, eax
mov eax, dword [ebp - 0x240]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xac], eax
mulss xmm0, dword [0x101a0e04]
movss dword [ebp - 0xb0], xmm0
call fcn.10029010
lea eax, [ebp - 0xb0]
mov byte [ebp - 4], 9
push eax
lea ecx, [esi + 4]
call fcn.10053100
mov eax, dword [ebp - 0x94]
cmp eax, 0xf
jbe 0x1005401b
push eax
push dword [ebp - 0xa8]
lea eax, [ebp - 0xa8]
push eax
call fcn.100163b0
add esp, 0xc
lea ecx, [ebp - 0xe0]
call fcn.10023b60
lea ecx, [ebp - 0x78]
call fcn.10023b60
lea ecx, [ebp - 0x58]
mov esi, 0x3b
call fcn.10023b60
lea ecx, [ebp - 0x40]
mov dword [ebp - 4], 0xffffffff
call fcn.10023b60
mov edi, dword [ebp - 0x248]
lea eax, [ebp - 0xc8]
mov ecx, 0x10293558
push eax
call fcn.1002f5a0
mov edx, dword [ebp - 0xb4]
lea eax, [ebp - 0xc8]
or esi, 4
cmp edx, 0xf
mov dword [ebp - 0x240], esi
cmova eax, dword [ebp - 0xc8]
mov dword [ebp - 0x24c], esi
mov cl, byte [edi]
cmp cl, byte [eax]
jne 0x100540a6
test cl, cl
je 0x100540a2
mov cl, byte [edi + 1]
cmp cl, byte [eax + 1]
jne 0x100540a6
add edi, 2
add eax, 2
test cl, cl
jne 0x10054086
xor esi, esi
jmp 0x100540ab
sbb esi, esi
or esi, 1
cmp edx, 0xf
jbe 0x100540c6
push edx
push dword [ebp - 0xc8]
lea eax, [ebp - 0xc8]
push eax
call fcn.100163b0
add esp, 0xc
test esi, esi
jne 0x100545a1
xorps xmm0, xmm0
mov dword [ebp - 0x23c], 0xffffffff
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], 0xf
mov byte [ebp - 0x78], 0
push 0x158
lea eax, [ebp - 0x238]
mov dword [ebp - 4], 0xb
push esi
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [0x102a7958]
add esp, 0xc
mov ecx, dword [ebp - 0x244]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
add ecx, 8
mov edi, dword [eax + 0xc8]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
mov esi, eax
mov dword [ebp - 0x248], 8
lea eax, [ebp - 0x248]
push eax
lea eax, [ebp - 0x25c]
push edi
push eax
call fcn.100ee230
add esp, 0xc
lea ecx, [ebp - 0x238]
mov eax, dword [eax]
push ecx
push esi
mov ecx, edi
call eax
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x228]
mov dword [ebp - 0x14], 0
movups xmmword [ebp - 0x28], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10054180
sub ecx, edx
lea eax, [ebp - 0x228]
push ecx
push eax
lea ecx, [ebp - 0x28]
call fcn.10011990
mov esi, dword [ebp - 0x240]
lea eax, [ebp - 0x28]
or esi, 0x400
mov dword [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0x24c], esi
call fcn.10029010
or esi, 0x800
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x24c], esi
test esi, 0x400
je 0x1005422a
mov ecx, dword [ebp - 0x14]
and esi, 0xfffffbff
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x24c], esi
cmp ecx, 0xf
jbe 0x1005422a
mov edx, dword [ebp - 0x28]
inc ecx
mov eax, edx
mov dword [ebp - 4], 0xe
cmp ecx, 0x1000
jb 0x10054220
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10054220
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 dword [ebp - 4], 0xb
test esi, 0x200
je 0x10054263
mov eax, dword [ebp - 0x44]
and esi, 0xfffffdff
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x24c], esi
cmp eax, 0xf
jbe 0x10054263
push eax
push dword [ebp - 0x58]
lea eax, [ebp - 0x58]
push eax
call fcn.100163b0
add esp, 0xc
cmp byte [0x10293578], 0
je 0x100542f8
cmp byte [0x10293579], 0
jne 0x10054369
xor esi, esi
mov byte [0x10293579], 1
mov dword [ebp - 0x244], esi
nop dword [eax]
xor esi, dword [0x10293598]
xor edi, edi
xor edi, dword [0x1029359c]
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 - 0x244]
xor edx, edi
mov dword [ebp - 0x248], ecx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [ebp - 0x248]
xor byte [esi + 0x1029357a], cl
inc esi
mov dword [ebp - 0x244], esi
cmp esi, 0x18
jb 0x10054290
jmp 0x10054363
xor esi, esi
mov dword [ebp - 0x244], esi
xor esi, dword [0x10293598]
xor edi, edi
xor edi, dword [0x1029359c]
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 - 0x244]
xor edx, edi
mov dword [ebp - 0x248], ecx
shld edx, ecx, 0x11
shl ecx, 0x11
xor cl, byte [ebp - 0x248]
xor byte [esi + 0x1029357a], cl
inc esi
mov dword [ebp - 0x244], esi
cmp esi, 0x18
jb 0x10054300
mov esi, dword [ebp - 0x240]
lea eax, [ebp - 0x251]
push eax
push 0x10293591
push 0x1029357a
lea ecx, [ebp - 0x40]
call fcn.10027a10
or esi, 0x3000
mov dword [ebp - 0x24c], esi
cmp dword [ebp - 0x2c], 0xf
lea ecx, [ebp - 0xe0]
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0xf
cmova eax, dword [ebp - 0x40]
push ecx
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.10053170
add esp, 0xc
mov dword [ebp - 0x250], eax
movss xmm1, dword [0x101a1054]
movss xmm0, dword [0x10c0299c]
mulss xmm0, xmm1
mov byte [ebp - 4], 0x10
cvttss2si eax, xmm0
movss xmm0, dword [0x10c02998]
mulss xmm0, xmm1
mov dword [ebp - 0x248], eax
cvttss2si edx, xmm0
movss xmm0, dword [0x10c02994]
mulss xmm0, xmm1
mov byte [ebp - 0x23e], dl
cvttss2si ecx, xmm0
movss xmm0, dword [0x10c02990]
mulss xmm0, xmm1
mov byte [ebp - 0x23f], cl
mov ecx, 0x10293488
cvttss2si eax, xmm0
mov byte [ebp - 0x240], al
mov eax, dword [ebp - 0x248]
mov byte [ebp - 0x23d], al
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x258], eax
mov eax, dword [0x102a7958]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov edi, dword [eax + 0xec]
lea eax, [ebp - 0x28]
push eax
call fcn.10029c40
or esi, 0x4000
mov dword [ebp - 0x24c], esi
cmp dword [ebp - 0x14], 0xf
lea eax, [ebp - 0x248]
push eax
push ecx
mov eax, esp
mov dword [ebp - 0x248], 0x19
lea esi, [ebp - 0x28]
mov byte [ebp - 4], 0x11
cmova esi, dword [ebp - 0x28]
mov dword [eax], edi
lea eax, [ebp - 0x25c]
push eax
call fcn.100ee230
push esi
lea ecx, [ebp - 0x258]
push ecx
mov eax, dword [eax]
push edi
call eax
mov eax, dword [ebp - 0x14]
add esp, 0x18
mov byte [ebp - 4], 0x10
cmp eax, 0xf
jbe 0x100544c2
push eax
push dword [ebp - 0x28]
lea eax, [ebp - 0x28]
push eax
call fcn.100163b0
add esp, 0xc
mov eax, dword [0x102a7958]
mov edi, dword [ebp - 0x250]
add eax, 0xabc5fa12
xor eax, 0x5b1c6e88
mov esi, edi
cmp dword [edi + 0x14], 0xf
mov ecx, dword [eax + 0xec]
mov dword [ebp - 0x244], ecx
jbe 0x100544ed
mov esi, dword [edi]
lea eax, [ebp - 0x248]
mov dword [ebp - 0x248], 0x19
push eax
push ecx
mov eax, esp
mov dword [eax], ecx
lea eax, [ebp - 0x25c]
push eax
call fcn.100ee230
push esi
push str._s__n
lea ecx, [ebp - 0x23c]
mov eax, dword [eax]
push ecx
push dword [ebp - 0x244]
call eax
mov esi, dword [ebp - 0x260]
add esp, 0x1c
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_clock]
push edi
lea ecx, [ebp - 0x58]
movd xmm0, eax
mov eax, dword [ebp - 0x23c]
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x5c], eax
mulss xmm0, dword [0x101a0e04]
movss dword [ebp - 0x60], xmm0
call fcn.10029010
lea eax, [ebp - 0x60]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [esi + 4]
call fcn.10053100
mov eax, dword [ebp - 0x44]
cmp eax, 0xf
jbe 0x10054583
push eax
push dword [ebp - 0x58]
lea eax, [ebp - 0x58]
push eax
call fcn.100163b0
add esp, 0xc
lea ecx, [ebp - 0xa8]
call fcn.10023b60
lea ecx, [ebp - 0x40]
call fcn.10023b60
lea ecx, [ebp - 0xe0]
call fcn.10023b60
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 4