Function at 0x414350
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov eax, dword [0x4ab0b0]
mov ecx, 0xe3cdc36f
movss xmm1, dword [0x4ab28c]
sub ecx, eax
mov eax, dword [0x4ab270]
add eax, ecx
push ebx
push esi
push edi
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
movss dword [0x4ab28c], xmm1
dec dword [0x4ab270]
movss xmm0, dword [0x4ab35c]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ab318]
mulsd xmm0, xmm1
movsd qword [0x4ab318], xmm0
movss xmm0, dword [0x4ab35c]
subss xmm0, dword [0x49cfa4]
movss dword [0x4ab35c], xmm0
movss xmm0, dword [0x4ab1c4]
mulss xmm0, dword [0x4a02a0]
movss dword [0x4ab1c4], xmm0
mov ax, word [0x4ab018]
mov ecx, dword [0x4ab044]
cwde
imul ecx, eax
mov eax, dword [ebp + 0xc]
add eax, 4
push eax
mov dword [0x4ab044], ecx
dec word [0x4ab018]
call fcn.00453fc5
movsx edx, word [0x4ab434]
mov esi, eax
mov eax, dword [0x4ab278]
mov ecx, 0x38df9c58
inc dword [0x4ab278]
add edx, 0x47a6dbfe
sub ecx, eax
add esp, 4
cmp ecx, edx
je 0x414478
movsx edx, word [0x4ab250]
mov ecx, 0x91b817e9
mov eax, dword [0x4ab238]
add edx, 0x2f69325e
inc word [0x4ab250]
sub ecx, eax
cmp ecx, edx
je 0x414478
movsx eax, word [0x4ab470]
movss xmm0, dword [0x4ab2d4]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ab2d4], xmm0
inc word [0x4ab470]
add dword [0x4ab3dc], 0xd3e9fca0
movsd xmm3, qword [0x49cfa8]
mov edi, dword [ebp + 8]
mov dword [ebp - 4], esi
mov al, byte [edi + 0x499250]
mov ecx, 0x91354518
mov dword [0x4ab100], 0xaae8188
mov byte [esi], al
movsd xmm1, qword [0x4ab230]
mov eax, dword [0x4ab38c]
sub ecx, eax
subsd xmm1, qword [0x49ff30]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
comisd xmm1, xmm0
jbe 0x4144ea
mov eax, dword [0x4ab06c]
mov ecx, dword [0x4ab1d0]
add eax, 0xb570c807
add ecx, eax
mov dword [0x4ab06c], ecx
dec dword [0x4ab1d0]
mov eax, dword [0x4ac26c]
movss xmm2, dword [0x49cfa4]
mov al, byte [eax + edi]
xor byte [esi], al
mov eax, dword [0x4ab358]
movss xmm1, dword [0x4ab0d8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [0x4ab19c]
addss xmm0, xmm1
movss dword [0x4ab19c], xmm0
movss xmm0, dword [0x4ab0d8]
subss xmm0, xmm2
movss dword [0x4ab0d8], xmm0
inc dword [0x4ab358]
mov ecx, dword [0x4ab1e8]
mov eax, dword [0x4ab01c]
movss xmm0, dword [0x4ab26c]
add eax, 0x62f28492
add eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ab26c], xmm0
mov eax, dword [0x4ab1d0]
sub eax, 0x405c8337
cmp eax, 0x11bdf27
jge 0x414598
mov eax, dword [0x4ab278]
add eax, 0x588130b3
mov word [0x4ab268], ax
inc dword [0x4ab278]
jmp 0x4145b0
movss xmm0, dword [0x4ab40c]
mulss xmm0, dword [0x4a03d4]
movss dword [0x4ab40c], xmm0
mov al, byte [edi + 0x499251]
mov byte [esi + 1], al
movss xmm0, dword [0x4ab400]
addss xmm0, dword [0x49e838]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ab0d0]
mov eax, dword [0x4ab0b0]
subsd xmm1, xmm0
add eax, 0x2fd3c2b6
movd xmm0, eax
cvtdq2pd xmm0, xmm0
ucomisd xmm1, xmm0
movsd xmm0, qword [0x4ab0d0]
subsd xmm0, xmm3
lahf
movsd qword [0x4ab0d0], xmm0
movss xmm0, dword [0x4ab400]
subss xmm0, xmm2
movss dword [0x4ab400], xmm0
test ah, 0x44
jp 0x4146c3
movsx eax, word [0x4ab2b4]
inc word [0x4ab2b4]
cmp eax, 0xf4fe60a4
jg 0x41468e
mov eax, dword [0x4ab1ec]
movsd xmm1, qword [0x4ab448]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movss xmm0, dword [0x4ab078]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movss xmm0, dword [0x4ab320]
cvtps2pd xmm0, xmm0
mulsd xmm0, xmm1
cvtpd2ps xmm0, xmm0
movss dword [0x4ab320], xmm0
movsd xmm0, qword [0x4ab448]
addsd xmm0, xmm3
movsd qword [0x4ab448], xmm0
jmp 0x4146c3
mov eax, dword [0x4ab38c]
movss xmm0, dword [0x4ab300]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [0x4ab38c], eax
movss xmm0, dword [0x4ab300]
subss xmm0, xmm2
movss dword [0x4ab300], xmm0
mov eax, dword [0x4ac26c]
mov al, byte [eax + edi + 1]
add edi, 2
xor byte [esi + 1], al
mov ax, word [0x4ab264]
movsx ecx, ax
mov eax, dword [0x4ab120]
add eax, 0x3dfb2104
add eax, ecx
mov dword [0x4ab120], eax
dec word [0x4ab264]
movsd xmm0, qword [0x4ab488]
subsd xmm0, xmm3
movsd qword [0x4ab488], xmm0
movsd xmm1, qword [0x4ab488]
movss xmm0, dword [0x4ab1a8]
movsx eax, word [0x4ab408]
cvtps2pd xmm0, xmm0
subsd xmm1, xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ab408], ax
movss xmm0, dword [0x4ab1a8]
subss xmm0, xmm2
movss dword [0x4ab1a8], xmm0
mov eax, dword [0x4ab370]
dec dword [0x4ab370]
cmp eax, 0xd6c188a5
jl 0x4147d8
mov ax, word [0x4ab408]
movsx ecx, ax
mov eax, dword [section..data]
movss xmm0, dword [0x4ab3b0]
add eax, 0x62d6a125
addss xmm0, dword [0x49ea70]
add eax, ecx
movd xmm1, eax
cvtdq2ps xmm1, xmm1
ucomiss xmm1, xmm0
movss xmm0, dword [0x4ab3b0]
addss xmm0, xmm2
lahf
movss dword [0x4ab3b0], xmm0
test ah, 0x44
jnp 0x4147d8
movsx eax, word [0x4ab194]
movss xmm0, dword [0x4ab300]
sub eax, 0x593cd71a
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ab300], xmm0
dec word [0x4ab194]
movss xmm0, dword [0x4ab1b8]
subss xmm0, dword [0x49eac8]
movzx ebx, word [esi]
mov dword [ebp + 8], ebx
subss xmm0, dword [0x4a0564]
lea eax, [ebx + 3]
push eax
lea eax, [edi + 0x499250]
push eax
cvtps2pd xmm0, xmm0
push esi
movsd qword [0x4ab090], xmm0
movss xmm0, dword [0x4ab1b8]
addss xmm0, xmm2
movss dword [0x4ab1b8], xmm0
call fcn.0044aa40
movsd xmm0, qword [0x4ab298]
add esp, 0xc
movsd xmm1, qword [0x49d330]
comisd xmm1, xmm0
movss xmm2, dword [0x49cfa4]
jb 0x41485c
movzx eax, word [0x4ab430]
imul eax, eax, 0x68aa17b3
mov word [0x4ab430], ax
jmp 0x4148a1
movss xmm0, dword [0x4ab414]
subss xmm0, xmm2
movss dword [0x4ab414], xmm0
movsx eax, word [0x4ab3d0]
movss xmm0, dword [0x4ab414]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movsd xmm0, qword [0x4ab498]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4ab498], xmm0
movzx eax, word [0x4ab350]
mov ecx, 0xec439d4e
sub eax, 0x14e8ccc6
movsd xmm3, qword [0x49cfa8]
mov word [0x4ab350], ax
add ebx, 3
movsx eax, word [0x4ab2cc]
add ebx, esi
movss xmm1, dword [0x4ab300]
movd xmm0, eax
mov eax, dword [0x4ab314]
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, dword [0x49f310]
mulss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [0x4ab314], eax
inc word [0x4ab2cc]
mov eax, dword [0x4ab0ac]
sub ecx, eax
movss xmm0, dword [0x4ab11c]
mov edx, dword [0x4ac26c]
add edx, edi
movd xmm1, ecx
cvtdq2ps xmm1, xmm1
subss xmm1, xmm0
movss xmm0, dword [0x4ab28c]
mulss xmm0, xmm1
movss dword [0x4ab28c], xmm0
cmp esi, ebx
je 0x4149fa
sub edx, esi
nop word [eax + eax]
movsd xmm0, qword [0x4ab488]
subsd xmm0, xmm3
movsd qword [0x4ab488], xmm0
movss xmm0, dword [0x4ab078]
cvtps2pd xmm1, xmm0
movsd xmm0, qword [0x4ab488]
movsx eax, word [0x4ab08c]
subsd xmm1, xmm0
movd xmm0, eax
subsd xmm1, qword [0x49d928]
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm1
cvttsd2si eax, xmm0
mov word [0x4ab08c], ax
movss xmm0, dword [0x4ab078]
subss xmm0, xmm2
movss dword [0x4ab078], xmm0
mov al, byte [edx + esi]
xor byte [esi], al
inc esi
movsd xmm0, qword [0x4ab140]
subsd xmm0, qword [0x49e5e0]
subsd xmm0, qword [0x49fcf0]
cvtpd2ps xmm0, xmm0
movss dword [0x4ab19c], xmm0
movsd xmm0, qword [0x4ab140]
subsd xmm0, xmm3
movsd qword [0x4ab140], xmm0
cmp esi, ebx
jne 0x414950
add dword [0x4ab3f0], 0xc86f2a10
mov edx, dword [ebp + 8]
cmp dword [ebp + 0xc], edx
je 0x414bdc
movsx eax, word [0x4ab350]
lea esi, [ebx - 3]
movsd xmm1, qword [0x4ab140]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm1, xmm0
movsd xmm0, qword [0x4ab4e0]
addsd xmm1, qword [0x49dca8]
addsd xmm0, xmm1
movsd qword [0x4ab4e0], xmm0
movsd xmm0, qword [0x4ab140]
subsd xmm0, xmm3
movsd qword [0x4ab140], xmm0
dec word [0x4ab350]
mov byte [ebx], 0
mov eax, dword [0x4ab37c]
mov ecx, dword [0x4ab2e4]
movsd xmm0, qword [0x4ab0e8]
sub ecx, eax
movd xmm1, ecx
cvtdq2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [0x4ab0e8], xmm0
movsx eax, word [0x4ab258]
movss xmm0, dword [0x4ab50c]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm0, xmm1
movss dword [0x4ab50c], xmm0
dec word [0x4ab258]
movsd xmm1, qword [0x4ab008]
movsd xmm0, qword [0x4ab058]
addsd xmm0, qword [0x49e458]
mov edi, dword [ebx - 3]
subsd xmm1, xmm0
movsd qword [0x4ab008], xmm1
mov ax, word [0x4ab258]
movsx ecx, ax
mov eax, dword [0x4ab114]
add ecx, eax
movsx eax, word [0x4ab4b8]
add eax, 0x5426569b
cmp eax, ecx
jl 0x414b20
inc word [0x4ab0bc]
mov ax, word [0x4ab0bc]
mov ecx, dword [0x4ab190]
cwde
imul ecx, eax
mov dword [0x4ab190], ecx
jmp 0x414b41
inc word [0x4ab430]
mov ax, word [0x4ab430]
movsx ecx, ax
mov eax, dword [0x4ab34c]
add eax, 0x211f8fa
add eax, ecx
mov dword [0x4ab34c], eax
sub dword [ebp + 0xc], edx
movss xmm0, dword [0x4ab060]
movss xmm1, dword [0x49f1ac]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x414490
dec word [0x4ab27c]
movsx eax, word [0x4ab1dc]
movss xmm1, dword [0x4ab1b8]
movd xmm0, eax
mov ax, word [0x4ab22c]
movsx ecx, ax
movsx eax, word [0x4ab27c]
cvtdq2ps xmm0, xmm0
add eax, 0xa964e4c7
add eax, ecx
addss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, dword [0x49ee20]
ucomiss xmm1, xmm0
lahf
dec word [0x4ab22c]
test ah, 0x44
jnp 0x414490
dec dword [0x4ab278]
mov eax, dword [0x4ab278]
movss xmm0, dword [0x4ab3b0]
movss xmm0, dword [0x4ab384]
jmp 0x414490
mov cx, word [0x4ab348]
mov edx, dword [0x4ab4a0]
mov eax, dword [ebp - 4]
movsx ecx, cx
imul edx, ecx
pop edi
pop esi
pop ebx
mov dword [0x4ab4a0], edx
mov esp, ebp
pop ebp
ret