Function at 0x5ecb51
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x148
mov eax, dword [reloc.MSVCRT.dll_strncpy]
xor eax, esp
mov dword [esp + reloc.MSVCRT.dll_strncpy], eax
push esi
mov esi, ecx
mov dword [esp + 0x20], edx
push edi
mov edi, dword [ebp + 8]
test byte [esi + 0x100], 1
jne 0x5ecba7
push 0xff
push dword [esi + 0x54]
xor eax, eax
push dword [esi + 0x50]
cmp byte [esi + 0xc1], al
push 0
push 0
setne al
push eax
push edi
push edx
push dword [esi + 0x19c]
call fcn.00609ae1
cmp dword [esi + reloc.MSVCRT.dll_strncpy], 0
je 0x5ed7e3
cmp dword [esi + reloc.MSVCRT.dll_strncpy], 0
je 0x5ed7e3
push 1
push edi
call dword [0x100e56bc]
lea eax, [esp + 0x14]
mov dword [esp + 0x14], 0
push eax
push 0
call dword [0x100e56e0]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cmp dword [eax + 0xc], 4
jg 0x5ecbef
xor ecx, ecx
jmp 0x5ecbf5
mov eax, dword [eax + 0x10]
mov ecx, dword [eax + 0x10]
lea eax, [esp + 8]
push eax
xor eax, eax
cmp ecx, 2
push 2
setg al
inc eax
push ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esi + 0x108]
call dword [0x100e56d0]
push 0
push dword [esp + 0xc]
call dword [0x100e56f0]
push 0
push dword [esp + 0xc]
call dword [0x100e56ec]
push 0x100
lea eax, [esp + 0x4c]
push 0
push eax
call fcn.00669231
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
xorps xmm0, xmm0
sub eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add esp, 0xc
movaps xmmword [esp + 0x30], xmm0
movd xmm0, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2pd xmm0, xmm0
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
sub ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
sub ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
dec eax
movd xmm3, ecx
divsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm3, xmm3
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2pd xmm0, xmm0
cvtpd2ps xmm2, xmm1
movaps xmm1, xmm3
divsd xmm1, xmm0
movss dword [esp + 0x20], xmm2
cvtpd2ps xmm0, xmm1
movss dword [esp + 0x18], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
divsd xmm3, xmm0
movsd qword [esp + 0x28], xmm3
test al, 0x20
jne 0x5ecd6e
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
cmp edx, reloc.MSVCRT.dll_strncpy
jle 0x5ecd6e
push 0xff
movaps xmm0, xmm2
lea eax, [ecx - 2]
subss xmm0, dword [0x100cf838]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
push eax
inc ecx
cvttss2si eax, xmm0
movd xmm0, edx
push eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, ecx
push eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm2
addss xmm1, xmm0
addss xmm1, dword [0x100cf784]
cvttss2si eax, xmm1
push eax
xor eax, eax
cmp byte [esi + 0xc1], al
setne al
add eax, 2
push eax
push edi
push dword [esp + 0x40]
push dword [esi + 0x19c]
call fcn.00609ae1
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
test al, 2
jne 0x5ed0d1
cmp dword [esi + reloc.MSVCRT.dll_strncpy], 0
mov dword [esp + 0xc], 0
jle 0x5ecf8c
nop word [eax + eax]
push 0
push dword [esp + 0xc]
call dword [0x100e56ec]
push dword [esi + 0x108]
push dword [esp + 0xc]
call dword [0x100e56b4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm0, dword [esp + 0x1c]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
sub ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
add ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
lea eax, [ecx + 5]
mulss xmm0, dword [esp + 0x30]
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x20], xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
push dword [esp + 0x18]
push edi
call dword [0x100e56c0]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esp + 0xc]
cmp dword [ecx + eax*4], 0
je 0x5ecee7
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
sub ecx, edx
movd xmm0, eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm0, xmm0
add eax, 5
add eax, ecx
mov ecx, dword [esp + 0xc]
addss xmm0, dword [esp + 0x10]
movss dword [esp + 0x30], xmm0
movd xmm0, eax
lea eax, [ecx + 1]
cvtdq2ps xmm0, xmm0
push eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x24]
movss dword [esp + 0x3c], xmm0
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movss dword [esp + 0x40], xmm0
mov eax, dword [eax + ecx*4]
add eax, 8
push eax
lea eax, [esp + 0x50]
push 0x80
push eax
call fcn.005cb3d1
add esp, 0x10
lea ecx, [esp + 0x48]
call fcn.00645d61
push dword [esi + 0x118]
lea ecx, [esp + 0x34]
push dword [esi + 0x15c]
push dword [0x100e20d8]
push ecx
push 0xffffffffffffffff
push eax
push edi
call fcn.0060e3f1
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5ecf7b
push dword [esi + 0x10c]
push dword [esp + 0xc]
call dword [0x100e56ec]
push dword [esi + 0x110]
push dword [esp + 0xc]
call dword [0x100e56b4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm1, eax
mov eax, ecx
sub eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
addss xmm1, dword [esp + 0x20]
cvtdq2ps xmm0, xmm0
add eax, ecx
movss dword [esp + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
push dword [esp + 0x18]
push edi
call dword [0x100e56c0]
mov eax, dword [esp + 0xc]
inc eax
mov dword [esp + 0xc], eax
cmp eax, dword [esi + reloc.MSVCRT.dll_strncpy]
jl 0x5ecd91
push dword [esi + 0x10c]
push dword [esp + 0xc]
call dword [0x100e56ec]
push dword [esi + 0x110]
push dword [esp + 0xc]
call dword [0x100e56b4]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
movd xmm1, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, ecx
sub eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm0, xmm0
add eax, ecx
movss dword [esp + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
push dword [esp + 0x18]
push edi
call dword [0x100e56c0]
push 0
push dword [esp + 0xc]
call dword [0x100e56ec]
push dword [esi + 0x108]
push dword [esp + 0xc]
call dword [0x100e56b4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
sub eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm0, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm1, xmm1
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [esp + 0x18]
push edi
call dword [0x100e56c0]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
sub ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
add ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm1, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm1, xmm1
lea eax, [ecx + 5]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
push dword [esp + 0x18]
push edi
call dword [0x100e56c0]
test byte [esi + 0x100], 4
jne 0x5ed3a3
cmp dword [esi + reloc.MSVCRT.dll_strncpy], 0
mov dword [esp + 0xc], 0
jle 0x5ed325
push 0
push dword [esp + 0xc]
call dword [0x100e56ec]
push dword [esi + 0x128]
push dword [esp + 0xc]
call dword [0x100e56b4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
sub eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm0, dword [esp + 0x1c]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mulss xmm0, dword [esp + 0x28]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm1, xmm1
movss dword [esp + 0x20], xmm0
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
add eax, 0xfffffffb
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [esp + 0x18]
push edi
call dword [0x100e56c0]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov edx, dword [esp + 0xc]
mov eax, dword [eax + edx*4]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x5ed286
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub eax, ecx
movd xmm1, eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
dec eax
cvtdq2pd xmm1, xmm1
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movd xmm0, edx
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cvttsd2si eax, xmm1
push eax
mov eax, dword [esp + 0x20]
add eax, 8
push eax
lea eax, [esp + 0x50]
push 0x80
push eax
call fcn.005cb3d1
add esp, 0x10
lea ecx, [esp + 0x48]
call fcn.00645d61
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov edx, eax
sub ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
add ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
push dword [esi + 0x138]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
push dword [esi + 0x160]
movd xmm0, ecx
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
push dword [0x100e20e8]
cvtdq2ps xmm0, xmm0
add ecx, 0xfffffffb
mov dword [esp + 0x3c], 0
add eax, ecx
mov dword [esp + 0x48], 0x43480000
subss xmm0, dword [esp + 0x1c]
subss xmm0, dword [0x100cf908]
movss dword [esp + 0x40], xmm0
movd xmm0, eax
lea eax, [esp + 0x3c]
push eax
cvtdq2ps xmm0, xmm0
push 0xffffffffffffffff
push edx
push edi
movss dword [esp + 0x54], xmm0
call fcn.0060e3f1
mov edx, dword [esp + 0xc]
test edx, edx
je 0x5ed314
push dword [esi + 0x12c]
push dword [esp + 0xc]
call dword [0x100e56ec]
push dword [esi + 0x130]
push dword [esp + 0xc]
call dword [0x100e56b4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
sub eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm0, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm0, xmm0
movd xmm1, eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm1, xmm1
subss xmm1, dword [esp + 0x20]
movss dword [esp + 0xc], xmm1
movss dword [esp + 8], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
push dword [esp + 0x18]
push edi
call dword [0x100e56c0]
mov edx, dword [esp + 0xc]
inc edx
mov dword [esp + 0xc], edx
cmp edx, dword [esi + reloc.MSVCRT.dll_strncpy]
jl 0x5ed0f3
push 0
push dword [esp + 0xc]
call dword [0x100e56ec]
push dword [esi + 0x128]
push dword [esp + 0xc]
call dword [0x100e56b4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm1, eax
mov eax, ecx
sub eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2ps xmm0, xmm0
add eax, ecx
movss dword [esp + 0xc], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esp + 8], xmm1
movss dword [esp + 4], xmm0
movss dword [esp], xmm1
push dword [esp + 0x18]
push edi
call dword [0x100e56c0]
test byte [esi + 0x100], 8
jne 0x5ed7cf
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
xor ecx, ecx
mov edx, 8
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
mov dword [esp + 0x1c], ecx
call fcn.0066799d
mov edi, eax
mov dword [esp + 0x10], eax
add esp, 4
test edi, edi
je 0x5ed3ee
push dword [esp + 0x18]
push 0
push edi
call fcn.00669231
add esp, 0xc
jmp 0x5ed3f4
xor edi, edi
mov dword [esp + 0xc], edi
push 2
push dword [ebp + 8]
call dword [0x100e56bc]
cmp dword [esi + reloc.MSVCRT.dll_strncpy], 0
mov dword [esp + 0x18], 0
jle 0x5ed7bb
xor ecx, ecx
mov dword [esp + 0x10], ecx
jmp 0x5ed425
mov edi, dword [esp + 0xc]
xor edx, edx
mov dword [esp + 0x1c], edx
cmp dword [esi + reloc.MSVCRT.dll_strncpy], edx
jle 0x5ed4eb
movss xmm3, dword [esp + 0x20]
movsd xmm4, qword [esp + 0x28]
movaps xmm2, xmm3
mulss xmm2, dword [0x100cf780]
nop dword [eax]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm3
addss xmm1, xmm0
addss xmm1, xmm2
movss dword [edi + edx*8], xmm1
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub eax, dword [esi + reloc.MSVCRT.dll_strncpy]
add eax, dword [esi + reloc.MSVCRT.dll_strncpy]
movd xmm1, eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cdq
xor eax, edx
sub eax, edx
mov edx, dword [esp + 0x1c]
cvtdq2pd xmm1, xmm1
movd xmm0, eax
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
cvtdq2pd xmm0, xmm0
mov eax, dword [ecx + eax + 0x14]
mulsd xmm0, xmm4
subsd xmm1, xmm0
movd xmm0, dword [eax + edx*4]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm4
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [edi + edx*8 + 4], xmm0
inc edx
mov dword [esp + 0x1c], edx
cmp edx, dword [esi + reloc.MSVCRT.dll_strncpy]
jl 0x5ed451
push 0
push dword [esp + 0xc]
call dword [0x100e56ec]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov edi, dword [esp + 0x10]
push dword [edi + eax]
push dword [esp + 0xc]
call dword [0x100e56b4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
push ecx
movd xmm0, dword [edi + eax + 0x18]
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0xc]
call dword [0x100e5760]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [edi + eax + 4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
test ecx, ecx
je 0x5ed56f
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
push ecx
divsd xmm0, qword [0x100cf8b8]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push eax
push dword [esp + 0x14]
push dword [esp + 0x14]
push dword [ebp + 8]
call dword [0x100e5764]
jmp 0x5ed581
push eax
push dword [esp + 0x10]
push dword [esp + 0x10]
push dword [ebp + 8]
call dword [0x100e5768]
mov edx, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + edx + 8]
test eax, eax
jle 0x5ed79f
cmp dword [ecx + edx + 0xc], 0
jne 0x5ed5b6
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x100cf818]
cvttsd2si eax, xmm0
mov dword [ecx + edx + 0xc], eax
xor edi, edi
cmp dword [esi + reloc.MSVCRT.dll_strncpy], edi
jle 0x5ed79f
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov eax, dword [ecx + eax]
push eax
push dword [esp + 0x18]
cmp dword [esi + reloc.MSVCRT.dll_strncpy], edi
jne 0x5ed684
call dword [0x100e56c4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
mov ecx, dword [esp + 0x20]
movd xmm0, dword [ecx + eax + 0xc]
mov eax, dword [esp + 0x1c]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
cvtps2pd xmm1, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + edi*8 + 4]
mulsd xmm1, qword [0x100cf7b0]
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + edi*8]
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x24]
push dword [ebp + 8]
call dword [0x100e5710]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + eax + 0x10], 0
jne 0x5ed792
push 0xffffffffffffffff
push dword [esp + 0x18]
call dword [0x100e56c4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esp + 0x10]
movd xmm0, dword [ecx + eax + 0xc]
jmp 0x5ed725
call dword [0x100e56c4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
sub esp, 0x10
mov ecx, dword [esp + 0x20]
movd xmm0, dword [ecx + eax + 8]
mov eax, dword [esp + 0x1c]
cvtdq2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
cvtps2pd xmm1, xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + edi*8 + 4]
mulsd xmm1, qword [0x100cf7b0]
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + edi*8]
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x24]
push dword [ebp + 8]
call dword [0x100e5710]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esp + 0x10]
cmp dword [ecx + eax + 0x10], 0
jne 0x5ed792
push 0xffffffffffffffff
push dword [esp + 0x18]
call dword [0x100e56c4]
mov eax, dword [esi + reloc.MSVCRT.dll_strncpy]
mov ecx, dword [esp + 0x10]
movd xmm0, dword [ecx + eax + 8]
cvtdq2ps xmm0, xmm0
mov eax, dword [esp + 0xc]
sub esp, 0x10
cvtps2pd xmm1, xmm0
movaps xmm0, xmm1
mulsd xmm1, qword [0x100cf798]
mulsd xmm0, qword [0x100cf7b0]
cvtpd2ps xmm0, xmm0
movss dword [esp + 0xc], xmm0
movss dword [esp + 8], xmm0
movss xmm0, dword [eax + edi*8 + 4]
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
movss xmm0, dword [eax + edi*8]
cvtps2pd xmm0, xmm0
subsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push dword [esp + 0x24]
push dword [ebp + 8]
call dword [0x100e5710]
mov ecx, dword [esp + 0x10]
inc edi
cmp edi, dword [esi + reloc.MSVCRT.dll_strncpy]
jl 0x5ed5c4
mov eax, dword [esp + 0x18]
add ecx, 0x1c
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x18], eax
cmp eax, dword [esi + reloc.MSVCRT.dll_strncpy]
jl 0x5ed421
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5ed7cc
push eax
call fcn.0066795a
add esp, 4
mov edi, dword [ebp + 8]
push dword [esp + 0x14]
call dword [0x100e56d4]
push dword [esp + 8]
call dword [0x100e56cc]
push dword [esi + 0x54]
push dword [esi + 0x50]
push 0
push 0
push edi
push dword [esp + 0x38]
push esi
call fcn.005fc761
mov ecx, dword [esp + reloc.MSVCRT.dll_strncpy]
pop edi
pop esi
xor ecx, esp
call fcn.00667949
mov esp, ebp
pop ebp
ret 8