Function at 0x420e30
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
movzx eax, word [0x4ad334]
movss xmm3, dword [0x49f178]
sub eax, 0x6673f1f3
mov word [0x4ad334], ax
mov eax, dword [0x4ad008]
movss xmm0, dword [0x4ad394]
sub eax, 0xc59225f
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movss xmm0, dword [0x4ad394]
addss xmm0, xmm3
movss dword [0x4ad394], xmm0
dec dword [0x4ad008]
comiss xmm1, dword [0x4a1d04]
jbe 0x420ed6
inc dword [0x4ad324]
mov eax, dword [0x4ad324]
movss xmm1, dword [section..data]
movss xmm0, dword [0x4ad330]
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm2, xmm0
subss xmm1, xmm2
movss dword [section..data], xmm1
movss xmm0, dword [0x4ad330]
subss xmm0, xmm3
movss dword [0x4ad330], xmm0
jmp 0x420f44
dec dword [0x4ad4a8]
movss xmm2, dword [0x4ad024]
mov eax, dword [0x4ad4a8]
movss xmm0, dword [0x4ad024]
subss xmm2, dword [0x4a2d54]
subss xmm0, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movss dword [0x4ad024], xmm0
comiss xmm2, xmm1
jb 0x420f44
movss xmm1, dword [0x4ad290]
subss xmm1, dword [0x4a1d18]
movss xmm0, dword [0x4ad478]
addss xmm0, xmm1
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad1c0]
addsd xmm0, xmm1
movsd qword [0x4ad1c0], xmm0
movsd xmm0, qword [0x4ad518]
mulsd xmm0, qword [0x4a2538]
push ebx
push esi
push edi
movsd qword [0x4ad518], xmm0
mov eax, dword [0x4ad3a8]
movss xmm0, dword [0x4ad274]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ad3a8], eax
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
call fcn.00455d95
movss xmm0, dword [0x4ad2d0]
mov esi, eax
cvtps2pd xmm1, xmm0
add esp, 4
mov edi, dword [ebp + 8]
mov dword [ebp - 4], esi
movsd xmm0, qword [0x4ad1d8]
movsd xmm4, qword [0x49f180]
subsd xmm1, xmm0
movss xmm3, dword [0x49f178]
subsd xmm1, qword [0x4a1020]
cvtpd2ps xmm0, xmm1
movss dword [0x4ad0b8], xmm0
movsd xmm0, qword [0x4ad1d8]
addsd xmm0, xmm4
movsd qword [0x4ad1d8], xmm0
movss xmm0, dword [0x4ad2d0]
subss xmm0, xmm3
movss dword [0x4ad2d0], xmm0
movsx eax, word [0x4ad418]
mov ecx, 0x759039ea
sub ecx, eax
mov edx, 0xffff8410
mov al, byte [edi + 0x49b240]
mov dword [0x4ad184], ecx
mov byte [esi], al
mov eax, dword [0x4ad0bc]
movss xmm0, dword [0x4ad0f4]
dec dword [0x4ad0bc]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x42107f
mov eax, dword [0x4ad4d8]
movss xmm2, dword [0x4ad354]
add eax, 0x1f6374
movss xmm0, dword [0x4ad118]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
subss xmm2, xmm0
movss dword [0x4ad354], xmm2
movss xmm0, dword [0x4ad118]
addss xmm0, xmm3
movss dword [0x4ad118], xmm0
mov eax, dword [0x4ae28c]
movsd xmm1, qword [0x4a2a08]
mov al, byte [eax + edi]
xor byte [esi], al
movsd xmm0, qword [0x4ad388]
subsd xmm1, xmm0
movss xmm0, dword [0x4ad410]
mov eax, dword [0x4ad2d4]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movss xmm0, dword [0x4ad410]
addss xmm0, xmm3
lahf
movss dword [0x4ad410], xmm0
movsd xmm0, qword [0x4ad388]
subsd xmm0, xmm4
movsd qword [0x4ad388], xmm0
test ah, 0x44
jp 0x421132
movss xmm0, dword [0x4ad48c]
movss xmm1, dword [0x4a2ecc]
addss xmm0, xmm3
movss dword [0x4ad48c], xmm0
movsd xmm2, qword [0x4ad480]
movss xmm0, dword [0x4ad48c]
subss xmm1, xmm0
subss xmm1, dword [0x4a1e4c]
cvtps2pd xmm0, xmm1
subsd xmm2, xmm0
movsd qword [0x4ad480], xmm2
mov word [0x4ad0f0], dx
movss xmm1, dword [0x4ad294]
mov eax, dword [0x4ad528]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movsd xmm0, qword [0x4ad378]
cvtps2pd xmm1, xmm1
subsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [0x4ad454], xmm0
movsd xmm0, qword [0x4ad378]
addsd xmm0, xmm4
movsd qword [0x4ad378], xmm0
movss xmm0, dword [0x4ad294]
mov al, byte [edi + 0x49b241]
subss xmm0, xmm3
movss dword [0x4ad294], xmm0
mov byte [esi + 1], al
movsx eax, word [0x4ad264]
mov ecx, dword [0x4ad2b4]
add eax, 0xe131f00d
movsd xmm0, qword [0x4ad4d0]
add ecx, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4ad4d0], xmm0
inc dword [0x4ad2b4]
dec word [0x4ad264]
mov eax, dword [0x4ae28c]
mov al, byte [eax + edi + 1]
xor byte [esi + 1], al
inc dword [0x4ad1cc]
mov ax, word [0x4ad0d0]
movsx ecx, ax
mov eax, dword [0x4ad1cc]
add eax, 0x2692ab5f
add eax, ecx
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x4ad344], xmm0
movsd xmm0, qword [0x4ad1b8]
subsd xmm0, xmm4
movsd qword [0x4ad1b8], xmm0
mov eax, dword [0x4ad124]
movsd xmm1, qword [0x4ad1b8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movsd xmm0, qword [0x4a04a8]
subsd xmm1, qword [0x4a01e8]
ucomisd xmm0, xmm1
lahf
inc dword [0x4ad124]
test ah, 0x44
jnp 0x421289
mov eax, dword [0x4ad308]
add eax, dword [0x4ad210]
movss xmm0, dword [0x4ad294]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm0, xmm1
movss dword [0x4ad294], xmm0
inc dword [0x4ad308]
movss xmm0, dword [0x4ad488]
add edi, 2
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ad050]
mulsd xmm0, xmm1
movss xmm1, dword [0x4a1284]
cvtpd2ps xmm0, xmm0
movss dword [0x4ad488], xmm0
movsd xmm0, qword [0x4ad050]
subsd xmm0, xmm4
movsd qword [0x4ad050], xmm0
movss xmm0, dword [0x4ad190]
movzx ebx, word [esi]
subss xmm1, xmm0
movsd xmm0, qword [0x4ad1d8]
lea eax, [ebx + 3]
cvtps2pd xmm1, xmm1
push eax
lea eax, [edi + 0x49b240]
push eax
push esi
addsd xmm0, xmm1
movsd qword [0x4ad1d8], xmm0
movss xmm0, dword [0x4ad190]
addss xmm0, xmm3
movss dword [0x4ad190], xmm0
call fcn.0044c810
movss xmm0, dword [0x4ad3ec]
lea ecx, [esi + 3]
subss xmm0, dword [0x4a2dd8]
add esp, 0xc
add ecx, ebx
movss dword [0x4ad3ec], xmm0
movss xmm1, dword [0x4ad214]
mov eax, dword [0x4ad1b4]
add eax, 0x9e48bbe
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4ad214], xmm1
inc dword [0x4ad1b4]
mov eax, dword [0x4ad308]
movd xmm2, eax
movsx eax, word [0x4ad510]
movss xmm1, dword [0x4ad488]
mov edx, dword [0x4ae28c]
cvtdq2ps xmm2, xmm2
add edx, edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
subss xmm1, dword [0x4a1b34]
subss xmm2, xmm1
cvttss2si eax, xmm2
mov dword [0x4ad308], eax
movsx eax, word [0x4ad4fc]
cmp eax, 0x40c405dd
jl 0x4213bc
add dword [0x4ad4f4], 0x400af57f
movsd xmm4, qword [0x49f180]
cmp esi, ecx
je 0x421431
sub edx, esi
nop word [eax + eax]
movsd xmm0, qword [0x4ad388]
subsd xmm0, xmm4
movsd qword [0x4ad388], xmm0
movsd xmm1, qword [0x4ad2d8]
movsd xmm0, qword [0x4ad388]
mov eax, dword [0x4ad52c]
subsd xmm1, qword [0x49fc10]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov dword [0x4ad52c], eax
mov al, byte [edx + esi]
xor byte [esi], al
inc esi
mov ax, word [0x4ad470]
cwde
sub dword [0x4ad158], eax
cmp esi, ecx
jne 0x4213d0
movss xmm0, dword [0x4ad024]
movss xmm3, dword [0x49f178]
movss xmm1, dword [0x4a2ca0]
subss xmm0, xmm3
mov edx, dword [ebp + 0xc]
movss dword [0x4ad024], xmm0
movss xmm0, dword [0x4ad024]
mov eax, dword [0x4ad124]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss xmm0, dword [0x4ad024]
mulss xmm0, xmm1
movss dword [0x4ad024], xmm0
dec dword [0x4ad124]
cmp edx, ebx
je 0x4215c8
imul eax, dword [0x4ad308], 0x9abb3d2d
movsd xmm0, qword [0x4a0a10]
mov dword [0x4ad308], eax
mov byte [ecx], 0
movsd qword [0x4ad070], xmm0
movsx eax, word [0x4ad100]
add eax, 0x7c5a0a2b
cmp eax, 0xe42db043
jg 0x42150d
movsx eax, word [0x4ad104]
movss xmm0, dword [0x4ad348]
subss xmm0, dword [0x4a1560]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov word [0x4ad104], ax
movss xmm0, dword [0x4ad348]
addss xmm0, xmm3
movss dword [0x4ad348], xmm0
jmp 0x42155a
movsd xmm0, qword [0x4ad460]
subsd xmm0, xmm4
movsd qword [0x4ad460], xmm0
movsd xmm1, qword [0x4ad460]
movss xmm0, dword [0x4ad354]
mov eax, dword [0x4ad0c0]
subsd xmm1, qword [0x4a0720]
cvtps2pd xmm2, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm2, xmm1
mulsd xmm0, xmm2
cvttsd2si eax, xmm0
mov dword [0x4ad0c0], eax
movzx eax, word [0x4ad100]
lea esi, [ecx - 3]
mov edi, dword [ecx - 3]
imul eax, eax, 0x411e2cca
mov word [0x4ad100], ax
inc dword [0x4ad188]
mov eax, dword [0x4ad188]
add eax, dword [0x4ad25c]
movsd xmm0, qword [0x4ad4d0]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4ad4d0], xmm0
inc dword [0x4ad25c]
sub edx, ebx
movsd xmm0, qword [0x4ad168]
subsd xmm0, qword [0x4a2758]
mov dword [ebp + 0xc], edx
movsd qword [0x4ad168], xmm0
jmp 0x420ffa
movsd xmm1, qword [0x4ad230]
subsd xmm1, qword [0x4a20c0]
movsd xmm0, qword [0x4a2480]
mov eax, dword [ebp - 4]
pop edi
pop esi
subsd xmm1, qword [0x49f5f8]
pop ebx
comisd xmm0, xmm1
jbe 0x421623
movss xmm0, dword [0x4ad43c]
mov ecx, dword [0x4ad1d0]
movss xmm1, dword [0x4a19f0]
subss xmm1, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si ecx, xmm0
mov dword [0x4ad1d0], ecx
mov esp, ebp
pop ebp
ret