Function at 0x428520
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x60
movsd xmm0, qword [0x49c6f0]
mov eax, 0xffffea7d
mov word [ebp - 0x28], ax
mov eax, 0x3604
mov dword [ebp - 0x30], 0xfe953c8a
mov word [ebp - 0x24], ax
mov eax, 0x52f7
movsd qword [ebp - 0x50], xmm0
movsd xmm0, qword [0x49c4c0]
mov word [ebp - 8], ax
mov eax, 0xffffd627
movsd qword [ebp - 0x60], xmm0
movsd xmm0, qword [0x495158]
movsd qword [ebp - 0x60], xmm0
movsd xmm0, qword [0x49b3e0]
mov word [ebp - 0xc], ax
mov eax, 0x2870
mov word [ebp - 0x14], ax
mov eax, 0xffffd80e
mov dword [ebp - 0x2c], 0xce9edc16
mov word [ebp - 0x10], ax
mov eax, 0x2cf8
mov word [ebp - 0x20], ax
mov eax, 0x1834
mov word [ebp - 4], ax
mov eax, 0x1d1f
movsd qword [ebp - 0x48], xmm0
movsd xmm0, qword [0x49b288]
movsd qword [ebp - 0x58], xmm0
movsd xmm0, qword [0x49cdd0]
movsd qword [ebp - 0x40], xmm0
mov word [ebp - 0x1c], ax
mov dword [ebp - 0x34], 0xcedce060
mov dword [ebp - 0x18], 0x4d9c79e8
mov dword [ebp - 0x38], 0xb7f7b7a1
mov eax, dword [0x4a52a0]
mov ecx, dword [0x4a5070]
inc dword [0x4a52a0]
sub ecx, eax
cmp ecx, 0x1240d1c0
jl 0x428620
movsd xmm0, qword [0x4a5170]
movsd xmm1, qword [0x4953b8]
subsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4a50d0], eax
movzx ecx, word [ebp - 0x1c]
movzx eax, word [ebp - 0x1c]
add ecx, eax
movzx eax, word [ebp - 0x14]
add ecx, eax
movzx eax, word [ebp - 0x20]
imul ecx, eax
mov word [ebp - 0x20], cx
inc dword [ebp - 0x1c]
movsd xmm0, qword [0x4a5298]
addsd xmm0, qword [0x4986c8]
ucomisd xmm0, qword [0x498100]
movsd xmm0, qword [0x4a5298]
addsd xmm0, qword [0x495120]
lahf
movsd qword [0x4a5298], xmm0
test ah, 0x44
jp 0x428684
movsd xmm0, qword [0x498bf8]
movsd qword [0x4a5420], xmm0
movsd xmm2, qword [ebp - 0x40]
movss xmm1, dword [0x4a50ac]
mov eax, dword [0x4a5168]
push ebx
push esi
push edi
movd xmm0, eax
mov eax, dword [ebp + 0xc]
cvtdq2ps xmm0, xmm0
add eax, 4
push eax
subss xmm1, xmm0
subss xmm1, dword [0x49db68]
cvtps2pd xmm0, xmm1
subsd xmm2, xmm0
movsd qword [ebp - 0x40], xmm2
call fcn.0047d14c
inc dword [0x4a5390]
mov esi, eax
mov eax, dword [0x4a5390]
add esp, 4
add eax, dword [0x4a52f4]
movsd xmm3, qword [0x495120]
movd xmm2, eax
movsx eax, word [ebp - 0x24]
cvtdq2pd xmm2, xmm2
movd xmm1, eax
cvtdq2pd xmm1, xmm1
addsd xmm1, qword [ebp - 0x60]
movsd xmm0, qword [ebp - 0x48]
subsd xmm2, xmm0
movsd xmm0, qword [ebp - 0x48]
addsd xmm0, xmm3
movsd qword [ebp - 0x48], xmm0
inc dword [0x4a52f4]
dec dword [ebp - 0x24]
comisd xmm2, xmm1
jb 0x428744
movss xmm1, dword [ebp - 0x34]
addss xmm1, dword [0x49a400]
movss xmm0, dword [0x49dbf0]
subss xmm0, xmm1
cvttss2si eax, xmm0
mov word [0x4a5384], ax
movsx ecx, word [ebp - 0x14]
movsx eax, word [ebp - 8]
add ecx, eax
mov eax, dword [0x4a5450]
dec dword [ebp - 0x14]
add eax, 0x4318a462
cmp ecx, eax
jle 0x428786
movss xmm1, dword [0x4a50f4]
movsx eax, word [ebp - 4]
addss xmm1, dword [0x499d78]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov word [ebp - 4], ax
movsd xmm1, qword [ebp - 0x40]
movsx eax, word [ebp - 0x1c]
subsd xmm1, qword [0x4989d8]
movss xmm4, dword [0x49511c]
mov edi, dword [ebp + 8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov dword [ebp - 0x34], esi
subsd xmm1, xmm0
addsd xmm1, qword [0x4a5378]
movsd qword [0x4a5378], xmm1
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, xmm3
movsd qword [ebp - 0x40], xmm0
nop
movss xmm1, dword [ebp - 0x2c]
mov ecx, 0xbe9b3171
movsx eax, word [ebp - 0x1c]
sub ecx, eax
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x428800
movss xmm0, dword [0x4a52b0]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x58], xmm0
movsd xmm0, qword [ebp - 0x50]
subsd xmm0, qword [0x49c170]
mov al, byte [edi + 0x4902c0]
movsd xmm1, qword [0x49c740]
mov byte [esi], al
movsd qword [ebp - 0x50], xmm0
movsd xmm0, qword [ebp - 0x60]
subsd xmm0, qword [0x49bff8]
addsd xmm0, qword [0x499598]
mulsd xmm0, qword [0x4a5210]
movsd qword [0x4a5210], xmm0
movsd xmm0, qword [ebp - 0x60]
mov eax, dword [0x4a70d4]
addsd xmm0, xmm3
mov al, byte [eax + edi]
xor byte [esi], al
movsd qword [ebp - 0x60], xmm0
movsd xmm0, qword [0x4a5090]
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x428892
inc dword [ebp - 0x14]
movsx eax, word [ebp - 0x14]
sub eax, 0xa29d888
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm0, dword [ebp - 0x2c]
cvttss2si eax, xmm0
mov dword [0x4a5410], eax
dec dword [ebp - 0x20]
mov ecx, 0xaadaaed6
movsx eax, word [ebp - 0x20]
sub ecx, eax
cmp ecx, 0x1142a129
jle 0x4288d9
inc word [0x4a53c4]
mov ax, word [0x4a521c]
movsx ecx, ax
movsx eax, word [0x4a53c4]
sub ecx, eax
lea eax, [ecx + 0x3a68742d]
movzx ecx, word [ebp - 0x14]
imul ecx, eax
mov word [ebp - 0x14], cx
inc word [0x4a521c]
movsd xmm1, qword [ebp - 0x48]
mov eax, dword [0x4a5308]
subsd xmm1, qword [0x496a38]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
cvttsd2si eax, xmm1
mov dword [0x4a5308], eax
movsd xmm0, qword [ebp - 0x48]
subsd xmm0, xmm3
movsd qword [ebp - 0x48], xmm0
add dword [ebp - 0x30], 0x4d617bde
dec dword [ebp - 0x14]
movsd xmm0, qword [ebp - 0x40]
subsd xmm0, xmm3
movsd qword [ebp - 0x40], xmm0
movsx eax, word [ebp - 0x14]
add eax, 0x61f10e4a
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm0, qword [ebp - 0x40]
cvtpd2ps xmm0, xmm0
movss dword [0x4a50c8], xmm0
movss xmm1, dword [0x4a5360]
movss xmm0, dword [ebp - 0x18]
subss xmm1, dword [0x49daf8]
addss xmm1, dword [0x49a398]
mulss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [0x4a5360]
mov al, byte [edi + 0x4902c1]
addss xmm0, xmm4
movss dword [0x4a5360], xmm0
mov byte [esi + 1], al
movsd xmm1, qword [0x4a50d8]
movsx eax, word [ebp - 0xc]
subsd xmm1, qword [0x496610]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [ebp - 0xc], ax
mov eax, dword [0x4a70d4]
mov al, byte [eax + edi + 1]
add edi, 2
xor byte [esi + 1], al
mov dword [0x4a52f0], 0x4ec3bc6f
movsd xmm0, qword [ebp - 0x50]
subsd xmm0, xmm3
movsd qword [ebp - 0x50], xmm0
movsd xmm0, qword [ebp - 0x50]
mulsd xmm0, qword [0x4a5478]
movsd qword [0x4a5478], xmm0
movzx ebx, word [esi]
mov dword [ebp + 8], ebx
lea eax, [ebx + 3]
push eax
lea eax, [edi + 0x4902c0]
push eax
push esi
call fcn.0047bb60
movsx eax, word [ebp - 0x1c]
add esp, 0xc
movd xmm1, eax
movsx eax, word [ebp - 0x1c]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [ebp - 0x2c]
comiss xmm0, xmm1
jb 0x428a43
movss xmm0, dword [0x4a53e4]
subss xmm0, dword [0x49de3c]
cvttss2si eax, xmm0
mov word [0x4a5460], ax
movzx ecx, word [ebp - 4]
movzx eax, word [ebp - 0x14]
movss xmm4, dword [0x49511c]
add ecx, eax
movss xmm1, dword [0x49d8ac]
mov word [ebp - 0x14], cx
movss xmm0, dword [0x4a5290]
subss xmm0, xmm4
movss dword [0x4a5290], xmm0
dec dword [0x4a5204]
movss xmm0, dword [0x4a5290]
subss xmm1, xmm0
movss xmm0, dword [ebp - 0x18]
mov eax, dword [0x4a5204]
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm1
jbe 0x428ad5
dec dword [ebp - 0x28]
movsx eax, word [ebp - 0x28]
movss xmm1, dword [ebp - 0x18]
movss xmm0, dword [ebp - 0x18]
addss xmm0, xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
movss dword [ebp - 0x18], xmm0
comiss xmm1, xmm2
jb 0x428ad5
movzx eax, word [ebp - 0x1c]
movzx ecx, word [ebp - 8]
sub ecx, eax
mov word [ebp - 8], cx
movsd xmm0, qword [0x4a5020]
lea edx, [esi + 3]
movsd xmm3, qword [0x495120]
add edx, ebx
add edi, dword [0x4a70d4]
subsd xmm0, xmm3
movsd qword [0x4a5020], xmm0
movsd xmm1, qword [0x4a5020]
movss xmm0, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
addsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm0
movss xmm1, dword [ebp - 0x18]
movsx eax, word [ebp - 0x24]
add eax, 0xa1160c6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [ebp - 0x18], xmm1
movsx eax, word [ebp - 0x14]
add eax, 0x3ee7b1bc
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [0x4a5320]
movsd qword [0x4a5320], xmm0
dec dword [ebp - 0x14]
movsd xmm0, qword [ebp - 0x40]
subsd xmm0, xmm3
movsd qword [ebp - 0x40], xmm0
movsd xmm0, qword [ebp - 0x40]
subsd xmm0, qword [0x496f30]
comisd xmm0, xmmword [0x49b6a0]
jb 0x428be1
movsd xmm0, qword [ebp - 0x40]
movsd xmm1, qword [0x495e30]
subsd xmm1, xmm0
movss xmm0, dword [ebp - 0x18]
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
movss xmm0, dword [ebp - 0x18]
subss xmm0, xmm4
lahf
movss dword [ebp - 0x18], xmm0
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, xmm3
movsd qword [ebp - 0x40], xmm0
test ah, 0x44
jp 0x428be1
mov ax, word [0x4a50a4]
movsd xmm0, qword [0x4a50f8]
mov ax, word [0x4a5370]
inc word [0x4a50a4]
dec word [0x4a5370]
cmp esi, edx
je 0x428c86
sub edi, esi
mov ebx, 0x509a
mov al, byte [edi + esi]
xor byte [esi], al
inc esi
inc word [0x4a5408]
mov ax, word [0x4a5408]
movsx ecx, ax
mov eax, dword [0x4a5168]
add eax, 0x789de5ef
add eax, ecx
mov word [ebp - 0x1c], ax
dec dword [0x4a5168]
movsd xmm0, qword [0x4a5448]
mulsd xmm0, qword [0x4981b0]
movsd qword [0x4a5448], xmm0
movsd xmm1, qword [ebp - 0x58]
movsx eax, word [ebp - 0x10]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
subsd xmm1, xmm0
subsd xmm1, qword [ebp - 0x40]
addsd xmm1, qword [ebp - 0x48]
movsd qword [ebp - 0x48], xmm1
movsd xmm0, qword [ebp - 0x40]
addsd xmm0, xmm3
movsd qword [ebp - 0x40], xmm0
movsd xmm0, qword [ebp - 0x58]
subsd xmm0, xmm3
movsd qword [ebp - 0x58], xmm0
mov word [0x4a520c], bx
cmp esi, edx
jne 0x428bf0
mov ebx, dword [ebp + 8]
cmp dword [ebp + 0xc], ebx
je 0x428e68
dec dword [0x4a5220]
mov eax, dword [0x4a5220]
movsd xmm0, qword [ebp - 0x58]
sub eax, 0x373d8a84
movd xmm1, eax
movsx eax, word [ebp - 0x20]
cvtdq2pd xmm1, xmm1
add eax, 0x242a5505
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
lahf
test ah, 0x44
jp 0x428ce5
movsd xmm0, qword [0x4a52e8]
subsd xmm0, qword [0x49c7f0]
movsd qword [0x4a52e8], xmm0
jmp 0x428cf7
movzx eax, word [0x4a5028]
add eax, 0x4fc291a2
mov word [0x4a5028], ax
movsx eax, word [0x4a5104]
dec word [0x4a5104]
cmp eax, 0xc0c238fa
jge 0x428d44
movsd xmm0, qword [0x4a5428]
movsd xmm1, qword [0x495d10]
subsd xmm1, xmm0
movsd xmm0, qword [0x4a51f8]
movsx eax, word [ebp - 4]
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [ebp - 4], ax
movzx eax, word [ebp - 0x1c]
imul eax, eax, 0xd54e2596
mov byte [edx], 0
mov word [ebp - 0x1c], ax
mov eax, 0x7080
mov word [0x4a5200], ax
movsx eax, word [ebp - 0xc]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x4a5058]
cvttss2si eax, xmm0
mov word [ebp - 0x28], ax
movss xmm0, dword [0x4a5058]
addss xmm0, xmm4
movss dword [0x4a5058], xmm0
movsx eax, word [0x4a5238]
movss xmm0, dword [ebp - 0x18]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [ebp - 0x18], xmm0
movsx eax, word [ebp - 0x20]
sub eax, 0x67a1e885
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, qword [ebp - 0x48]
mulsd xmm0, qword [0x4a53a8]
movsd qword [0x4a53a8], xmm0
movzx eax, word [0x4a5018]
mov edi, dword [edx - 3]
movsx ecx, ax
movsx eax, word [ebp - 0x20]
dec word [0x4a5018]
sub ecx, eax
cmp ecx, 0xec78b9f8
je 0x428dfc
mov eax, dword [ebp - 0x30]
mov word [0x4a5028], ax
movss xmm2, dword [0x4a5058]
lea esi, [edx - 3]
movss xmm1, dword [0x4a5290]
mov ecx, 0xb0cd5b68
movsx eax, word [ebp - 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
subss xmm1, dword [0x49decc]
subss xmm2, xmm1
movss dword [0x4a5058], xmm2
mov eax, dword [0x4a5308]
sub ecx, eax
movsd xmm0, qword [0x4a5310]
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4a5310], xmm0
dec dword [0x4a5308]
sub dword [ebp + 0xc], ebx
jmp 0x4287d0
movss xmm0, dword [0x4a5130]
subss xmm0, xmm4
pop edi
pop esi
pop ebx
movss dword [0x4a5130], xmm0
movss xmm0, dword [0x4a5130]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
subsd xmm1, xmm0
movsd xmm0, qword [ebp - 0x40]
subsd xmm0, xmm3
ucomisd xmm1, qword [0x49c2c0]
movsd qword [ebp - 0x40], xmm0
lahf
test ah, 0x44
jp 0x428ec0
mov dword [0x4a5088], 0xa946e3a1
mov eax, dword [ebp - 0x34]
mov esp, ebp
pop ebp
ret
movsd xmm1, qword [0x4a5358]
movsx eax, word [ebp - 0x10]
subsd xmm1, qword [0x496cb0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, qword [0x4972c8]
mulsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [ebp - 0x10], ax
movsd xmm0, qword [0x4a5358]
mov eax, dword [ebp - 0x34]
subsd xmm0, xmm3
movsd qword [0x4a5358], xmm0
mov esp, ebp
pop ebp
ret