Function at 0x43dd00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
imul eax, dword [0x4ad32c], 0x1ae7d205
mov ecx, 0x3c17b555
mov dword [0x4ad32c], eax
movss xmm0, dword [0x4ad018]
movsx eax, word [0x4ad0a0]
sub ecx, eax
cvtps2pd xmm2, xmm0
movsd xmm0, qword [0x4ad0f0]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm0
comisd xmm1, xmm2
jb 0x43dd69
movss xmm0, dword [0x4ad164]
subss xmm0, dword [0x4a0c94]
subss xmm0, dword [str.__fC]
cvtps2pd xmm0, xmm0
movsd qword [0x4ad278], xmm0
movzx eax, word [0x4ad1b8]
add eax, 0x70436aa
mov word [0x4ad2d8], ax
inc word [0x4ad1b8]
imul eax, dword [0x4ad314], 0x93ccb9f8
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov dword [0x4ad314], eax
lea eax, [ebx + 4]
push eax
call fcn.004554b5
movss xmm0, dword [0x4ad1bc]
add esp, 4
subss xmm0, dword [0x4a15e4]
mov esi, eax
movss xmm3, dword [0x49eed8]
mov edi, dword [ebp + 8]
mov dword [ebp - 4], esi
subss xmm0, dword [0x4a26b0]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad3b0]
mulsd xmm0, xmm1
movsd qword [0x4ad3b0], xmm0
inc word [0x4ad104]
movsd xmm0, qword [0x4ad198]
addsd xmm0, qword [0x49eee0]
movsd qword [0x4ad198], xmm0
movsx eax, word [0x4ad104]
movsd xmm1, qword [0x4ad198]
movd xmm0, eax
mov eax, dword [0x4ad0c8]
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movss xmm0, dword [0x4ad454]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad454], xmm0
nop dword [eax + eax]
movss xmm1, dword [0x4ad080]
movss xmm0, dword [0x4ad300]
subss xmm1, dword [0x4a0bf4]
mulss xmm0, xmm1
movss dword [0x4ad300], xmm0
movss xmm0, dword [0x4ad080]
mov al, byte [edi + 0x49b240]
subss xmm0, xmm3
movss dword [0x4ad080], xmm0
mov byte [esi], al
movsd xmm0, qword [0x4ad180]
addsd xmm0, qword [0x4a0200]
mov eax, dword [0x4ae25c]
movsd qword [0x4ad180], xmm0
mov al, byte [eax + edi]
xor byte [esi], al
movss xmm0, dword [0x4ad4e0]
subss xmm0, xmm3
movss dword [0x4ad4e0], xmm0
inc dword [0x4ad3cc]
movss xmm1, dword [0x4ad4e0]
mov eax, dword [0x4ad3cc]
subss xmm1, dword [0x4a1128]
add eax, 0x24545792
addss xmm1, dword [0x4a14f8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm1, xmm0
jbe 0x43df0a
movsd xmm0, qword [0x4a1b10]
movsd qword [0x4ad488], xmm0
inc dword [0x4ad404]
mov eax, dword [0x4ad218]
movd xmm2, eax
mov eax, dword [0x4ad404]
movss xmm0, dword [0x4ad4b0]
cvtdq2ps xmm2, xmm2
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
subss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [0x4ad218], eax
movss xmm0, dword [0x4ad304]
subss xmm0, xmm3
movss dword [0x4ad304], xmm0
movsx eax, word [0x4ad1dc]
movss xmm0, dword [0x4ad304]
movd xmm1, eax
movsx eax, word [0x4ad40c]
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4ad40c], ax
mov al, byte [edi + 0x49b241]
mov byte [esi + 1], al
movsx eax, word [0x4ad21c]
add eax, 0xf64d6260
add dword [0x4ad020], eax
mov eax, dword [0x4ae25c]
mov al, byte [eax + edi + 1]
add edi, 2
xor byte [esi + 1], al
movss xmm1, dword [0x4ad0e0]
mov eax, dword [0x4ad434]
movd xmm0, eax
mov eax, dword [str.__Mv]
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [str.__Mv], eax
movss xmm0, dword [0x4ad0e0]
subss xmm0, xmm3
movss dword [0x4ad0e0], xmm0
movsd xmm0, qword [0x4a19f8]
movsd qword [0x4ad418], xmm0
mov eax, dword [0x4ad2f0]
movsd xmm0, qword [0x4ad4e8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad2f0], eax
movzx eax, word [esi]
movss xmm0, dword [0x4ad02c]
subss xmm0, dword [0x4a0fd4]
mov dword [ebp + 0xc], eax
add eax, 3
push eax
lea eax, [edi + 0x49b240]
push eax
push esi
movss dword [0x4ad02c], xmm0
call fcn.0044bf30
movsd xmm1, qword [0x4ad1e8]
add esp, 0xc
mov eax, dword [0x4ad4ac]
sub eax, 0x27b67e
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
movsd qword [0x4ad1e8], xmm1
inc dword [0x4ad4ac]
dec dword [0x4ad28c]
mov ax, word [0x4ad1e0]
cwde
mov ecx, dword [0x4ad28c]
movss xmm0, dword [0x4ad430]
sub ecx, eax
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
mov ecx, dword [ebp + 0xc]
lea edx, [ecx + 3]
addss xmm0, xmm1
add edx, esi
movss dword [0x4ad430], xmm0
movsx eax, word [0x4ad1e0]
movsd xmm0, qword [0x4ad060]
add eax, 0x50c4911d
add edi, dword [0x4ae25c]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm0, xmm1
movsd qword [0x4ad060], xmm0
movsd xmm0, qword [0x4ad0f0]
movsd qword [0x4ad418], xmm0
cmp esi, edx
je 0x43e157
sub edi, esi
nop word [eax + eax]
movsx eax, word [0x4ad30c]
movzx ecx, word [0x4ad094]
add eax, 0x4bd23bd3
imul ecx, eax
mov word [0x4ad094], cx
mov al, byte [edi + esi]
xor byte [esi], al
inc esi
inc dword [0x4ad208]
mov ax, word [0x4ad194]
mov ecx, dword [0x4ad208]
cwde
imul ecx, eax
mov word [0x4ad194], cx
cmp esi, edx
jne 0x43e110
mov ecx, dword [ebp + 0xc]
movss xmm0, dword [0x4ad2c0]
addss xmm0, dword [0x4a1644]
subss xmm0, dword [0x4a17f4]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad0c0]
addsd xmm0, qword [0x4a03a0]
comisd xmm1, xmm0
jb 0x43e1a9
movsd xmm0, qword [0x4ad240]
subsd xmm0, qword [0x4a1cf0]
addsd xmm0, qword [0x4a01f0]
cvttsd2si eax, xmm0
mov dword [0x4ad42c], eax
cmp ebx, ecx
je 0x43e2e5
movsd xmm0, qword [0x4ad478]
movsd xmm2, qword [0x49eee0]
subsd xmm0, xmm2
movss xmm3, dword [0x49eed8]
movsd qword [0x4ad478], xmm0
movsd xmm1, qword [0x4ad478]
movss xmm0, dword [0x4ad120]
subsd xmm1, qword [0x49f148]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ad120], xmm0
mov byte [edx], 0
movss xmm0, dword [0x4ad408]
cvttss2si eax, xmm0
mov word [0x4ad204], ax
movss xmm0, dword [0x4ad408]
addss xmm0, xmm3
movss dword [0x4ad408], xmm0
mov ax, word [0x4ad1dc]
movsx ecx, ax
mov eax, dword [0x4ad4f4]
sub ecx, eax
mov eax, dword [0x4ad178]
dec dword [0x4ad4f4]
dec dword [0x4ad178]
cmp eax, ecx
jle 0x43e26e
movss xmm1, dword [0x4ad428]
mov eax, dword [0x4ad178]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4ad428], xmm1
movzx eax, word [0x4ad1e0]
lea esi, [edx - 3]
mov edi, dword [edx - 3]
add eax, 0x6d08a369
mov word [0x4ad1e0], ax
movsd xmm0, qword [0x4ad4a0]
addsd xmm0, qword [0x49fad8]
sub ebx, dword [ebp + 0xc]
subsd xmm0, qword [0x4a1ca8]
cvttsd2si eax, xmm0
mov dword [0x4ad264], eax
movsd xmm0, qword [0x4ad4a0]
addsd xmm0, xmm2
movsd qword [0x4ad4a0], xmm0
mov eax, dword [0x4ad384]
movsd xmm0, qword [0x4ad3e0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad384], eax
jmp 0x43de50
movsd xmm1, qword [0x4ad040]
addsd xmm1, qword [0x4a0950]
movsd xmm0, qword [0x4a1960]
pop edi
pop esi
pop ebx
ucomisd xmm0, xmm1
movsd xmm0, qword [0x4ad040]
subsd xmm0, qword [0x49eee0]
lahf
movsd qword [0x4ad040], xmm0
test ah, 0x44
jp 0x43e3cc
movss xmm0, dword [0x4ad0d4]
addss xmm0, dword [0x49eed8]
movss xmm2, dword [0x4a0f30]
movss xmm1, dword [0x4a25b4]
movss dword [0x4ad0d4], xmm0
movss xmm0, dword [0x4ad224]
subss xmm2, xmm0
movss xmm0, dword [0x4ad0d4]
addss xmm0, dword [0x4a0d6c]
subss xmm2, dword [0x4a157c]
subss xmm1, xmm0
movss xmm0, dword [0x4ad224]
subss xmm0, dword [0x49eed8]
ucomiss xmm2, xmm1
movss dword [0x4ad224], xmm0
lahf
test ah, 0x44
mov eax, dword [ebp - 4]
jnp 0x43e3cf
mov ecx, dword [0x4ad404]
movsd xmm0, qword [0x4ad268]
sub ecx, 0x7e0abcfe
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4ad268], xmm0
inc dword [0x4ad404]
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
mov esp, ebp
pop ebp
ret