Function at 0x43e680
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
fld dword [0x44c324]
sub esp, 0x2c
fld1
fadd st(1), st(0)
fxch st(1)
fstp dword [0x44c324]
fld qword [0x44c468]
fadd st(1)
fstp qword [0x44c468]
fld dword [0x44c324]
fsub qword [0x4467d8]
fsub qword [0x44c468]
fcomp qword [0x4467d0]
fnstsw ax
test ah, 0x41
jp 0x43e6ea
fld dword [0x44c258]
mov eax, dword [0x44c150]
fadd qword [0x4467c8]
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fmulp st(1)
fistp qword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
mov dword [0x44c150], ecx
fld qword [0x44c338]
mov eax, dword [ebp + 0xc]
fadd qword [0x44c3a8]
push ebx
push esi
add eax, 4
fadd qword [0x4467c0]
push edi
push eax
fistp qword [ebp - 0xc]
movzx edx, word [ebp - 0xc]
mov word [0x44c2f0], dx
fsubr qword [0x44c338]
fstp qword [0x44c338]
fld dword [0x44c068]
fmul qword [0x4467b8]
fstp dword [0x44c068]
call fcn.00419cb0
fld qword [0x44c3a0]
mov edi, dword [ebp + 8]
fld1
mov esi, eax
fsub st(1), st(0)
add esp, 4
fxch st(1)
fstp qword [0x44c3a0]
fld qword [0x44c468]
fsub qword [0x4467b0]
fsub qword [0x44c3a0]
fistp qword [ebp - 0xc]
mov dword [ebp - 8], esi
mov cx, word [ebp - 0xc]
mov word [0x44c2f0], cx
mov ecx, 0xffffffff
fld qword [0x44c468]
fsub st(1)
fstp qword [0x44c468]
add word [0x44c100], cx
movzx edx, word [0x44c100]
movsx eax, dx
sub eax, 0x6349c7af
mov dword [ebp - 4], eax
fild dword [ebp - 4]
fadd dword [0x44c424]
fstp dword [0x44c424]
fld dword [0x44c3c8]
fsub st(1)
fstp dword [0x44c3c8]
fld dword [0x44c3c8]
movzx edx, word [0x44c40c]
fadd qword [0x4467a8]
movsx eax, dx
mov dword [ebp + 8], eax
mov al, byte [edi + 0x4411d8]
fild dword [ebp + 8]
fmulp st(1)
fistp qword [ebp - 0x14]
movzx edx, word [ebp - 0x14]
mov word [0x44c40c], dx
mov byte [esi], al
fld qword [0x44c440]
fsub st(1)
fstp qword [0x44c440]
mov edx, dword [0x44c3f4]
sub edx, 0x2bdf4817
mov dword [ebp + 8], edx
fild dword [ebp + 8]
mov edx, 1
fadd qword [0x44c440]
add dword [0x44c3f4], edx
fcomp qword [0x4467a0]
fnstsw ax
test ah, 0x41
jne 0x43e843
fld dword [0x44c044]
fmul qword [0x446798]
fstp dword [0x44c044]
jmp 0x43e8a1
add dword [0x44c228], ecx
mov eax, dword [0x44c194]
mov ebx, dword [0x44c228]
add eax, 0x2490c6a6
add ebx, 0x64399add
cmp ebx, eax
jg 0x43e86d
fld dword [0x44c290]
fstp st(0)
jmp 0x43e8a1
fld dword [0x44c324]
fsub dword [0x44c324]
mov ax, word [0x44c038]
cwde
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fsubp st(1)
fistp qword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov dword [0x44c020], eax
fld dword [0x44c324]
fadd st(1)
fstp dword [0x44c324]
mov eax, dword [0x44c9b4]
mov al, byte [eax + edi]
xor byte [esi], al
mov ax, word [0x44c3fc]
cwde
mov dword [ebp + 8], eax
mov eax, dword [0x44c300]
fild dword [ebp + 8]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fadd dword [0x44c41c]
add word [0x44c3fc], cx
fcompp
fnstsw ax
test ah, 0x41
jne 0x43e8e5
mov dword [0x44c300], 0x6c7baa46
jmp 0x43e907
mov ax, word [0x44c450]
mov ebx, dword [0x44c268]
cwde
sub ebx, eax
mov dword [ebp + 8], ebx
fild dword [ebp + 8]
fstp qword [0x44c118]
add word [0x44c450], dx
fld dword [0x44c03c]
add edi, edx
fsubr qword [0x446790]
add esi, edx
mov ebx, 0xbb63d92
fmul dword [0x44c130]
fstp dword [0x44c130]
fld dword [0x44c03c]
fadd st(1)
fstp dword [0x44c03c]
fld dword [0x44c17c]
movzx eax, byte [edi + 0x4411d8]
fsub qword [0x446788]
fstp dword [0x44c17c]
mov byte [esi], al
add dword [0x44c268], edx
mov eax, dword [0x44c268]
sub ebx, eax
mov eax, dword [0x44c9b4]
mov dword [ebp + 8], ebx
fild dword [ebp + 8]
fstp qword [0x44c2b0]
movzx eax, byte [eax + edi]
xor byte [esi], al
sub esi, edx
fld dword [0x44c3dc]
add edi, edx
fsub qword [0x446780]
fadd qword [0x44c440]
fstp qword [0x44c440]
fld dword [0x44c3dc]
fsub st(1)
fstp dword [0x44c3dc]
fld qword [0x44c1a8]
fld dword [0x44c128]
fsubr qword [0x446778]
fsubp st(1)
fstp qword [0x44c1a8]
add word [0x44c190], cx
fld dword [0x44c290]
mov cx, word [0x44c190]
fsubr qword [0x446770]
movsx edx, cx
mov dword [ebp + 8], edx
fild dword [ebp + 8]
fsubp st(1)
fcomp qword [0x446768]
fnstsw ax
fld dword [0x44c290]
fadd st(1)
fstp dword [0x44c290]
test ah, 0x41
jp 0x43ea03
add dword [0x44c010], 0x58b41c46
fadd qword [0x44c330]
movzx ebx, word [esi]
fstp qword [0x44c330]
mov eax, dword [0x44c20c]
mov ecx, dword [0x44c0ec]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
movzx eax, bx
mov dword [ebp - 4], eax
add eax, 3
fadd dword [0x44c17c]
push eax
lea eax, [edi + 0x4411d8]
push eax
fadd qword [0x44c330]
push esi
fsubp st(1)
fistp qword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
mov dword [0x44c20c], edx
call fcn.00419e70
mov dword [0x44c020], 0xd0a3ecf3
fld dword [0x44c328]
fsub qword [0x446760]
movzx ecx, bx
lea ecx, [ecx + esi + 3]
add esp, 0xc
mov eax, esi
fstp dword [0x44c328]
fld qword [0x44c448]
mov edx, dword [0x44c9b4]
fsubr qword [0x446758]
add edi, edx
fstp dword [0x44c28c]
fld qword [0x44c260]
fld dword [0x44c424]
fsub qword [0x446750]
fsubp st(1)
fstp qword [0x44c260]
cmp esi, ecx
je 0x43eafe
lea ebx, [ebx]
mov edx, dword [0x44c488]
sub edx, 0x201adadc
mov dword [ebp + 8], edx
fild dword [ebp + 8]
inc eax
inc edi
fadd dword [0x44c2fc]
fstp dword [0x44c2fc]
mov dl, byte [edi - 1]
xor byte [eax - 1], dl
movzx edx, word [0x44c254]
add edx, 0x6f867695
mov word [0x44c254], dx
cmp eax, ecx
jne 0x43eac0
fld qword [0x44c470]
fld1
fadd st(1), st(0)
fxch st(1)
fstp qword [0x44c470]
fld qword [0x44c470]
fsub qword [0x446748]
fadd qword [0x44c050]
mov eax, dword [0x44c420]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
fmulp st(1)
fistp qword [ebp - 0x2c]
mov edx, dword [ebp - 0x2c]
mov dword [0x44c420], edx
mov edx, dword [ebp - 4]
fld qword [0x44c050]
fsub st(1)
fstp qword [0x44c050]
cmp dword [ebp + 0xc], edx
je 0x43ecc6
fld qword [0x44c388]
mov eax, dword [0x44c124]
fsub qword [0x446740]
mov dword [ebp + 8], eax
fild dword [ebp + 8]
faddp st(1)
fcomp qword [0x446738]
fnstsw ax
fld qword [0x44c388]
fadd st(1)
fstp qword [0x44c388]
test ah, 0x44
jp 0x43eb96
mov eax, dword [0x44c2f8]
mov word [0x44c110], ax
jmp 0x43ebbc
fld dword [0x44c128]
fadd st(1)
fstp dword [0x44c128]
fld dword [0x44c128]
fsub qword [0x446730]
fmul qword [0x44c348]
fstp qword [0x44c348]
fld qword [0x446728]
mov byte [ecx], 0
fstp qword [0x44c338]
mov ebx, 1
add dword [0x44c13c], ebx
mov eax, dword [0x44c13c]
mov esi, 0x8a701ef7
sub esi, eax
sub ecx, 3
cmp esi, 0x23f48f
jle 0x43ec07
fld qword [0x44c440]
fld dword [0x44c0cc]
fsub qword [0x446720]
fsubp st(1)
fstp qword [0x44c440]
mov ax, word [0x44c430]
mov edi, dword [ecx]
movsx esi, ax
mov eax, 0x320e3b52
sub eax, esi
mov esi, dword [0x44c124]
dec dword [0x44c124]
add esi, 0x22d05166
cmp eax, esi
jl 0x43ec69
fld qword [0x44c270]
fadd st(1)
fstp qword [0x44c270]
fld qword [0x44c380]
fadd st(1)
fstp qword [0x44c380]
fld qword [0x44c270]
fsubr qword [0x446718]
fadd qword [0x44c380]
fmul dword [0x44c03c]
fstp dword [0x44c03c]
sub dword [ebp + 0xc], edx
mov esi, ecx
mov ecx, dword [0x44c018]
mov dword [ebp + 8], ecx
fild dword [ebp + 8]
fmul qword [0x44c370]
fstp qword [0x44c370]
add dword [0x44c018], ebx
mov dx, word [0x44c26c]
mov cx, word [0x44c0d0]
fld qword [0x44c248]
movsx eax, dx
movsx edx, cx
mov ecx, dword [0x44c234]
add eax, edx
add ecx, eax
mov dword [ebp + 8], ecx
or ecx, 0xffffffff
fild dword [ebp + 8]
fsubp st(1)
fstp qword [0x44c248]
jmp 0x43e7af
mov dx, word [0x44c480]
fstp st(0)
mov eax, dword [0x44c150]
movsx ecx, dx
sub eax, ecx
mov ecx, dword [0x44c0a8]
sub eax, ecx
pop edi
mov dword [0x44c150], eax
dec word [0x44c480]
mov eax, dword [ebp - 8]
pop esi
pop ebx
mov esp, ebp
pop ebp
ret