Function at 0x4153b0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
fld dword [0x48c9c4]
sub esp, 0x258
fsub dword [0x48ca48]
fstp dword [0x48c9c4]
fld dword [0x48ca48]
fsub qword [0x43aeb8]
fstp dword [0x48ca48]
mov eax, dword [0x491bd8]
test eax, eax
jne 0x415768
movzx ecx, word [0x47dc3a]
and ecx, 0xd0aba7be
mov word [0x47dc3a], cx
dec word [0x47b55a]
movzx edx, word [0x47e78a]
movzx ecx, word [0x47b55a]
movsx eax, dx
add ecx, eax
mov word [0x47e78a], cx
movzx edx, word [0x4762bc]
and edx, 0xa222bc2
mov word [0x4762bc], dx
fld dword [0x4815bc]
fmul qword [0x4518f0]
fstp qword [0x4518f0]
mov eax, dword [0x4458a4]
lea ecx, [eax - 0x520f9af]
mov ax, word [0x47ea16]
cwde
or eax, ecx
movzx ecx, word [0x478d68]
movsx edx, cx
or edx, 0xde9ff79d
cmp edx, eax
jle 0x4154ac
mov ax, word [0x47ba96]
movsx ecx, ax
sub ecx, 0x64e86af8
cmp ecx, 0xfe4c1a50
jne 0x415492
dec dword [0x441a50]
mov edx, dword [0x441a50]
jmp 0x4154ac
fld dword [0x4824b4]
fld dword [0x48aa40]
fmul qword [0x4629d8]
fsubp st(1)
fstp dword [0x4824b4]
lea eax, [ebp - 0x118]
push eax
push 0x104
call fcn.00419c40
mov eax, dword [0x43c590]
mov ecx, dword [0x446d40]
add eax, 0xd4830805
or ecx, eax
mov eax, 1
add dword [0x43c590], eax
add esp, 8
cmp ecx, 0x8fabb7ce
jg 0x4154fe
mov dx, word [0x476708]
movsx eax, dx
cmp eax, 0x4f4403d8
jle 0x415522
mov ecx, dword [0x4495c0]
jmp 0x415522
mov edx, dword [0x447990]
add dword [0x447990], eax
or edx, 0xab74f7ff
cmp edx, 0x9fb5cdbf
jg 0x415522
and dword [0x4492a8], 0x6fc853df
push esi
lea eax, [ebp - 0x118]
push edi
push eax
call fcn.00435b30
fld dword [0x48fd24]
fmul dword [0x48e384]
add esp, 4
push 0x3e8
mov esi, eax
fstp dword [0x48fd24]
call dword [0x44f138]
lea edi, [ebp + esi - 0x118]
mov dword [0x448960], 0x30394210
mov byte [edi], 0
and dword [0x4487a4], 0xa0b61edd
mov ecx, dword [0x491bf4]
push ecx
lea edx, [ebp - 0x118]
push edx
call fcn.0041c7d0
fld dword [0x47f798]
fmul qword [0x471000]
push 2
push 0x35d8
fadd dword [0x4910f0]
fadd dword [0x4854fc]
fstp dword [0x4854fc]
call fcn.0040b450
mov esi, eax
lea eax, [ebp - 0x118]
push esi
mov dword [0x449b24], 0x9104480
push eax
call fcn.0041c7d0
add dword [0x448408], 0x22420148
push esi
push 2
call fcn.0041dc90
and dword [0x449948], 0xeac00770
add esp, 0x20
lea ecx, [ebp - 0x258]
push ecx
lea edx, [ebp - 0x118]
push edx
call dword [0x47ebdc]
mov esi, eax
movzx eax, word [0x47b070]
and eax, 0xff78ddee
mov word [0x47b070], ax
cmp esi, 0xffffffff
je 0x415723
fld dword [0x48b738]
fld dword [0x48a160]
fmul qword [0x45b370]
fmul dword [0x48e9cc]
fsubp st(1)
fstp dword [0x48b738]
jmp 0x415640
xor dword [0x448f70], 0xfc020e4
lea ecx, [ebp - 0x22c]
push ecx
lea edx, [ebp - 0x118]
mov byte [edi], 0
or dword [0x446a28], 0x36ffbede
push edx
call fcn.0041c7d0
dec word [0x47c024]
mov ax, word [0x47c024]
cwde
sub dword [0x441700], eax
add esp, 8
lea ecx, [ebp - 0x118]
push ecx
call dword [0x492118]
or dword [0x443098], 0xe3840409
lea edx, [ebp - 0x258]
push edx
push esi
call dword [0x44f134]
test eax, eax
jne 0x415640
xor dword [0x44c188], 0x80c2114a
push esi
call dword [0x491c48]
mov eax, dword [0x43f024]
not eax
sub eax, 0x44f20dcb
or eax, 0x4d0d8358
cmp eax, 0x57324a50
jne 0x4156f7
fld dword [0x47fdc8]
fmul qword [0x463d00]
fld qword [0x450168]
fld dword [0x47edc0]
faddp st(2)
fsubrp st(1)
fstp qword [0x450168]
jmp 0x415723
fld dword [0x490004]
fld dword [0x48582c]
fsub qword [0x457ae0]
fsubp st(1)
fstp dword [0x490004]
fld dword [0x48582c]
fsub qword [0x43aeb8]
fstp dword [0x48582c]
movzx ecx, word [0x477166]
push 0x118
lea edx, [ebp - 0x118]
xor ecx, 0xaed9ef7b
push 0
mov word [0x477166], cx
push edx
call fcn.004102d0
mov eax, dword [0x44375c]
mov ecx, dword [0x4447a0]
imul eax, ecx
add esp, 0xc
imul eax, eax, 0x6173a6a6
pop edi
mov dword [0x44375c], eax
pop esi
mov esp, ebp
pop ebp
ret