Function at 0x4331e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ax, word [0x46d506]
mov edx, dword [0x445794]
cwde
push ebx
mov ecx, 1
add dword [0x445794], ecx
sub edx, eax
push esi
or ebx, 0xffffffff
cmp edx, 0x7fa1fab4
push edi
jg 0x43322e
mov ax, word [0x46e22c]
mov edx, dword [0x444534]
cwde
or edx, eax
or edx, 0xe06a16f4
mov word [0x46e22c], dx
add dword [0x444534], ebx
mov eax, dword [0x44076c]
mov edx, dword [0x43d888]
add dword [0x43d888], ecx
lea eax, [edx + eax + 0x7682e963]
cmp eax, 0xa4fe954a
jle 0x4332a9
mov ecx, dword [0x446f44]
xor ecx, 0x47b7f0ac
cmp ecx, 0xd77de3e9
jge 0x433295
fld qword [0x4610c0]
fstp st(0)
fld qword [0x44ee98]
fstp st(0)
fld dword [0x474724]
fstp st(0)
fld dword [0x47ea08]
fstp st(0)
fld dword [0x474724]
fadd qword [0x43b0b0]
fstp dword [0x474724]
jmp 0x4332a9
movzx edx, word [0x46eeb0]
sub edx, 0x20368ba2
mov word [0x46eeb0], dx
add dword [0x43f188], 0xa200993
mov eax, dword [0x44a454]
add dword [0x44a454], ebx
cmp eax, 0xfc8ceedd
jge 0x4332d7
fld qword [0x456aa8]
fsub dword [0x479350]
fstp qword [0x45e4c0]
mov ecx, dword [ebp + 0xc]
add ecx, 4
push ecx
call fcn.004256a0
and dword [0x44a200], 0x391eb567
mov dx, word [0x46ee06]
mov cx, word [0x46b1c6]
mov esi, eax
movsx eax, dx
movsx edx, cx
add eax, eax
shl edx, 4
add eax, eax
mov ecx, edx
mov edx, dword [0x43c504]
sub ecx, eax
lea eax, [ecx - 0x805e47e]
add esp, 4
cmp edx, eax
mov dword [ebp - 4], esi
jle 0x433338
fld dword [0x474b40]
fmul dword [0x475978]
fstp dword [0x474b40]
jmp 0x43334c
mov eax, dword [0x43d25c]
xor eax, 0xff5b7bfd
or eax, 0xde5b737d
mov dword [0x442238], eax
mov edi, dword [ebp + 8]
fld1
add dword [0x4410e8], 0xfddb3fef
mov cl, byte [edi + 0x437230]
mov byte [esi], cl
mov eax, dword [0x447314]
mov edx, dword [0x44439c]
add dword [0x447314], ebx
add eax, 0xd50117d3
add edx, edx
cmp edx, eax
jge 0x4333a5
fld qword [0x45f770]
fsub qword [0x462f70]
fsub qword [0x462718]
fstp dword [0x478410]
fld qword [0x462f70]
fsub st(1)
fstp qword [0x462f70]
mov eax, dword [0x480ab0]
mov cl, byte [eax + edi]
xor byte [esi], cl
mov dx, word [0x46e830]
movsx eax, dx
imul eax, eax, 0x58048fc1
mov ecx, 0x9561ed7d
sub ecx, eax
cmp ecx, 0x42fb40
jge 0x433401
fld dword [0x47b3cc]
fld qword [0x45aad0]
fld dword [0x47b3cc]
fadd st(3)
fstp dword [0x47b3cc]
fcompi st(1)
fstp st(0)
jb 0x433401
add word [0x471098], bx
mov dx, word [0x471098]
mov eax, dword [0x44527c]
movzx ecx, word [0x46fb34]
mov al, byte [edi + 0x437231]
imul ecx, ecx, 0xfe6ffbf7
mov word [0x46fb34], cx
inc edi
inc esi
mov edx, 0xffffa5a6
mov word [0x46dd72], dx
mov byte [esi], al
xor dword [0x442060], 0x110214b4
mov ecx, dword [0x480ab0]
mov dl, byte [ecx + edi]
xor byte [esi], dl
add dword [0x440064], 0x1a05001c
mov eax, 0x4013
mov word [0x4712a0], ax
mov ecx, dword [0x44a2e8]
add ecx, 0x2de2b3e5
dec esi
inc edi
cmp ecx, 0x240b28cd
jl 0x43348a
mov edx, dword [0x444090]
mov eax, dword [0x43edcc]
and edx, eax
and edx, 0xad0340e7
mov dword [0x444090], edx
inc dword [0x43edcc]
movzx eax, word [esi]
mov ecx, dword [0x443080]
mov edx, dword [0x43fb44]
movzx ebx, ax
sub ecx, edx
mov dword [0x443080], ecx
lea eax, [ebx + 3]
push eax
lea ecx, [edi + 0x437230]
push ecx
push esi
call fcn.0040f1c0
add esp, 0xc
fld dword [0x47f590]
mov ecx, esi
fld dword [0x475090]
fadd dword [0x4785f0]
fsub dword [0x474c04]
fsubp st(1)
fstp dword [0x47f590]
mov edx, dword [0x43e670]
inc dword [0x43e670]
and edx, 0x4cc8f115
cmp edx, 0x4bb924b6
jg 0x43352a
mov eax, dword [0x44aa88]
mov edx, dword [0x44a96c]
imul eax, eax, 0xbff6b6cc
xor edx, eax
mov eax, dword [0x441f94]
sar eax, 3
sub eax, 0x3e4e507a
cmp edx, eax
jge 0x43352a
mov edx, dword [0x43e6ec]
imul edx, edx, 0xc5d7945
mov dword [0x43e6ec], edx
fld qword [0x458870]
lea eax, [ebx + esi + 3]
fsub dword [0x47e52c]
fadd dword [0x479448]
fadd dword [0x47f390]
fstp dword [0x47f390]
fld dword [0x47e52c]
mov edx, dword [0x480ab0]
fadd st(1)
add edi, edx
fstp dword [0x47e52c]
mov dx, word [0x46fce0]
dec word [0x46fce0]
movsx edx, dx
and edx, 0x5f89ca9a
cmp edx, 0xd0186f78
jg 0x43358b
add dword [0x441fe4], 0x33f0770d
cmp esi, eax
je 0x4335c9
or dword [0x449d0c], 0x490ed688
mov dl, byte [edi]
xor byte [ecx], dl
fld dword [0x47307c]
fsub dword [0x47e92c]
inc ecx
inc edi
fmul qword [0x45ba30]
fstp qword [0x45ba30]
fld dword [0x47e92c]
fsub st(1)
fstp dword [0x47e92c]
cmp ecx, eax
jne 0x43358f
mov ecx, dword [0x43d664]
sar ecx, 0xa
sub ecx, 0x607e9636
mov word [0x46ed2a], cx
cmp dword [ebp + 0xc], ebx
je 0x43368e
movzx edx, word [0x46ebe2]
movsx ecx, dx
movzx edx, word [0x47139a]
lea ecx, [edx + ecx - 0x70d3c74c]
mov word [0x46ebe2], cx
mov byte [eax], 0
movzx edx, word [0x46b89e]
mov ecx, dword [0x43d100]
movsx edx, dx
sar edx, 5
add edx, 0x65f2de46
xor ecx, edx
add dword [0x440eec], ecx
movzx ecx, word [0x46c886]
sub dword [ebp + 0xc], ebx
and ecx, 0xa252010
mov word [0x46c886], cx
mov edi, dword [eax - 3]
fld dword [0x47a6a0]
sub eax, 3
fmul dword [0x477d74]
mov esi, eax
fsub dword [0x474528]
fadd dword [0x47e864]
fstp dword [0x47e864]
or dword [0x44a53c], 0xb9fdef9f
movzx edx, word [0x46c760]
and edx, 0xe985d04e
mov word [0x46c760], dx
or ebx, 0xffffffff
jmp 0x433351
mov eax, dword [ebp - 4]
fstp st(0)
fld dword [0x479004]
pop edi
fld dword [0x47ee6c]
pop esi
fmul dword [0x474b88]
pop ebx
fsubp st(1)
fstp dword [0x479004]
mov esp, ebp
pop ebp
ret