Function at 0x423180
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
fld dword [0x48c95c]
fmul dword [0x487de8]
fadd dword [0x486ce0]
fld qword [0x44f918]
fmul qword [0x4732c0]
fadd qword [0x465c68]
fld qword [0x465c68]
fsub qword [0x43aeb8]
fstp qword [0x465c68]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x4231dd
fld dword [0x481eb0]
fld qword [0x460a38]
fld qword [0x46b0d8]
fmulp st(2)
fsubrp st(1)
fstp qword [0x460a38]
fld dword [0x48b7f8]
fmul dword [0x48d5d0]
fmul dword [0x488c2c]
fstp dword [0x488c2c]
mov ax, word [0x47e294]
inc word [0x47e294]
movsx ecx, ax
cmp ecx, 0x88010105
jge 0x423217
xor dword [0x4460c0], 0xb86cb400
push esi
mov esi, dword [ebp + 8]
push esi
call fcn.00435b30
mov ecx, eax
mov dword [0x43e224], 0x2f272abe
mov eax, dword [0x447e40]
imul eax, eax, 0xda1cc571
or dword [0x4488ec], eax
dec ecx
add esp, 4
cmp byte [ecx + esi], 0x22
jne 0x423332
fld dword [0x4896ec]
fmul qword [0x453ae8]
fadd dword [0x488c64]
fld dword [0x486378]
fxch st(1)
fucompi st(1)
fstp st(0)
lahf
test ah, 0x44
jp 0x423290
mov dx, word [0x47d466]
movsx eax, dx
mov edx, dword [0x445750]
imul edx, eax
imul edx, edx, 0xaa66d2e0
mov word [0x47d466], dx
mov byte [esi], 0x22
fld dword [0x48fd88]
fmul dword [0x487fc8]
fstp dword [0x48e770]
mov byte [ecx + esi], 0
dec dword [0x4469c0]
mov eax, dword [0x4469c0]
or eax, 0x5ad46a37
cmp eax, 0x6388e9e0
jne 0x4232d8
fld dword [0x48c600]
fsub dword [0x4820e0]
fsub qword [0x46e6b0]
fstp dword [0x48f17c]
fld1
mov edx, dword [0x4477a4]
imul edx, edx, 0x90a05120
mov dword [0x4477a4], edx
dec ecx
fld qword [0x46fa90]
fsub dword [0x4863cc]
fstp qword [0x4568a0]
fld dword [0x4863cc]
fsub st(1)
fstp dword [0x4863cc]
cmp byte [ecx + esi], 0x22
jne 0x4232da
and dword [0x43e30c], 0x2e28516c
fstp st(0)
or dword [0x448340], 0x8f5b5566
lea eax, [ecx + esi + 1]
jmp 0x42343a
mov eax, dword [0x44ca6c]
inc dword [0x44ca6c]
cmp eax, 0xc8006160
jl 0x423385
mov edx, dword [0x448660]
xor edx, 0x54699a2f
cmp edx, 0xc7d08239
jge 0x423372
mov eax, dword [0x44d618]
mov edx, dword [0x43ddfc]
add eax, 0xf559245a
add edx, eax
mov dword [0x44d618], edx
jmp 0x423385
mov eax, dword [0x43ea90]
mov edx, dword [0x4429f4]
imul eax, edx
mov dword [0x43ea90], eax
mov byte [esi], 0x20
fld dword [0x4861d0]
fld dword [0x480bc8]
fmul dword [0x47f52c]
fsubp st(1)
fstp dword [0x4861d0]
mov eax, dword [0x43f53c]
mov edx, dword [0x443b6c]
imul eax, edx
imul eax, eax, 0x6fd756e0
mov dword [0x43f53c], eax
mov ax, word [0x477484]
movzx edx, word [0x47796a]
cwde
imul eax, eax, 0x49a9ae9a
xor edx, eax
dec ecx
mov word [0x47796a], dx
cmp byte [ecx + esi], 0x20
jne 0x4233a2
mov eax, dword [0x43f65c]
imul eax, eax, 0xb6c67bc5
mov dword [0x43f65c], eax
inc dword [0x43c878]
lea eax, [ecx + esi + 1]
mov ecx, dword [0x4467f4]
mov edx, dword [0x43c878]
or ecx, 0x5acbae0
add edx, 0x549d7e0f
cmp ecx, edx
je 0x42343a
mov ecx, dword [0x43faa4]
mov edx, dword [0x43c360]
imul ecx, edx
movzx edx, word [0x47bb26]
add ecx, 0x143c5bcf
xor edx, ecx
mov word [0x47bb26], dx
mov ecx, dword [0x448de8]
not ecx
xor ecx, 0x8f47651
pop esi
cmp ecx, 0x6e007753
je 0x42346b
fld dword [0x48fa40]
fld dword [0x4903f4]
fmul qword [0x46f478]
fsubp st(1)
fstp dword [0x490880]
pop ebp
ret